1. 27 11月, 2015 2 次提交
  2. 19 11月, 2015 1 次提交
    • N
      Refactor the HIR so that items are stored in a map in the `Crate`, · 767ee79c
      Niko Matsakis 提交于
      rather being stored inline. Refactor (and rename) the visitor so that
      (by default) it only visits the interior content of an item not nested
      items.
      
      This is a [breaking-change] for anyone who uses the HIR visitor. Besides
      changing `visit::` to `intravisit::`, you need to refactor your visitor
      in one of two ways, depending on what it requires:
      
      1. If you just want to visit all items (most common), you should call
         `krate.visit_all_items(&mut visitor)`.
      
      2. If you need to visit nested items in the middle of the parent items,
         you should override `visit_nested_item` with something like:
         `self.visit_item(self.tcx.map.expect_item(item.id))`, presuming you
         have access to a tcx (or at least a HIR map).
      767ee79c
  3. 17 11月, 2015 1 次提交
  4. 16 11月, 2015 2 次提交
  5. 14 11月, 2015 1 次提交
  6. 10 11月, 2015 1 次提交
  7. 31 10月, 2015 1 次提交
  8. 25 10月, 2015 1 次提交
  9. 13 10月, 2015 7 次提交
  10. 06 10月, 2015 1 次提交
  11. 24 9月, 2015 2 次提交
  12. 23 9月, 2015 5 次提交
  13. 17 9月, 2015 2 次提交
  14. 16 9月, 2015 1 次提交
  15. 03 9月, 2015 2 次提交
  16. 09 8月, 2015 1 次提交
  17. 05 8月, 2015 1 次提交
  18. 26 7月, 2015 1 次提交
    • M
      Remove `ast::LocalSource` with only one used variant · adfdbc4b
      mitaa 提交于
      `LocalSource` indicated wether a let binding originated from for-loop desugaring to enable specialized error messages, but for-loop expansion has changed and this is now achieved through `MatchSource::ForLoopDesugar`.
      adfdbc4b
  19. 11 6月, 2015 1 次提交
  20. 21 5月, 2015 2 次提交
  21. 15 5月, 2015 1 次提交
  22. 26 4月, 2015 1 次提交
    • G
      Interpolate AST nodes in quasiquote. · 2d9831de
      Geoffry Song 提交于
      This changes the `ToTokens` implementations for expressions, statements,
      etc. with almost-trivial ones that produce `Interpolated(*Nt(...))`
      pseudo-tokens. In this way, quasiquote now works the same way as macros
      do: already-parsed AST fragments are used as-is, not reparsed.
      
      The `ToSource` trait is removed. Quasiquote no longer involves
      pretty-printing at all, which removes the need for the
      `encode_with_hygiene` hack. All associated machinery is removed.
      
      A new `Nonterminal` is added, NtArm, which the parser now interpolates.
      This is just for quasiquote, not macros (although it could be in the
      future).
      
      `ToTokens` is no longer implemented for `Arg` (although this could be
      added again) and `Generics` (which I don't think makes sense).
      
      This breaks any compiler extensions that relied on the ability of
      `ToTokens` to turn AST fragments back into inspectable token trees. For
      this reason, this closes #16987.
      
      As such, this is a [breaking-change].
      
      Fixes #16472.
      Fixes #15962.
      Fixes #17397.
      Fixes #16617.
      2d9831de
  23. 25 4月, 2015 1 次提交
  24. 24 4月, 2015 1 次提交