1. 07 7月, 2011 24 次提交
  2. 06 7月, 2011 3 次提交
  3. 05 7月, 2011 3 次提交
    • M
      Don't thread the local crate number through the session · 4349eaed
      Marijn Haverbeke 提交于
      It's a constant, anyway.
      4349eaed
    • M
      Move everything syntax-related to syntax/, break deps on rest of compiler · 6fd6fdea
      Marijn Haverbeke 提交于
      src/comp/syntax is currently just a sub-module of rustc, but it will,
      in the near future, be its own crate. This includes:
      
       - The AST data structure
       - The parser
       - The pretty-printer
       - Visit, walk, and fold
       - The syntax extension system
       - Some utility stuff that should be in the stdlib*
      
      *) Stdlib extensions currently require a snapshot before they can be
         used, and the win build is very broken right now. This is temporary
         and will be cleaned up when one of those problems goes away.
      
      A lot of code was moved by this patch, mostly towards a more organized
      layout. Some package paths did get longer, and I guess the new layout
      will take some getting used to. Sorry about that!
      
      Please try not to re-introduce any dependencies in syntax/ on any of
      the other src/comp/ subdirs.
      6fd6fdea
    • M
      Move the ids of pat AST nodes into their struct · b1423be1
      Marijn Haverbeke 提交于
      Just like it was done with items and exprs. Simplifies some code.
      b1423be1
  4. 04 7月, 2011 2 次提交
  5. 03 7月, 2011 1 次提交
  6. 02 7月, 2011 5 次提交
  7. 01 7月, 2011 2 次提交
    • M
      Allow dereferencing of single-variant, single-argument tag values · 432e5e9f
      Marijn Haverbeke 提交于
      (Using the * operator.)
      
      This makes tags more useful as nominal 'newtype' types, since you no
      longer have to copy out their contents (or construct a cumbersome
      boilerplate alt) to access them.
      
      I could have gone with a scheme where you could dereference individual
      arguments of an n-ary variant with ._0, ._1, etc, but opted not to,
      since we plan to move to a system where all variants are unary (or, I
      guess, nullary).
      432e5e9f
    • M
      Implement autoderef for function calls. · 7b1b5d5a
      Michael Sullivan 提交于
      This is important since we are going to be making functions noncopyable
      soon, which means we'll be seeing a lot of boxed functions.
      (*f)(...) is really just too heavyweight.
      
      Doing the autodereferencing was a very little bit tricky since
      trans_call works with an *lval* of the function whereas existing
      autoderef code was not for lvals.
      7b1b5d5a