1. 25 4月, 2015 1 次提交
  2. 22 4月, 2015 1 次提交
  3. 12 4月, 2015 1 次提交
    • R
      Propagate macro backtraces more often, improve formatting diagnostics · 0f46e4f1
      Ryan Prichard 提交于
       * In noop_fold_expr, call new_span in these cases:
          - ExprMethodCall's identifier
          - ExprField's identifier
          - ExprTupField's integer
      
         Calling new_span for ExprMethodCall's identifier is necessary to print
         an acceptable diagnostic for write!(&2, ""). We see this error:
      
             <std macros>:2:20: 2:66 error: type `&mut _` does not implement any method in scope named `write_fmt`
             <std macros>:2 ( & mut * $ dst ) . write_fmt ( format_args ! ( $ ( $ arg ) * ) ) )
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
         With this change, we also see a macro expansion backtrace leading to
         the write!(&2, "") call site.
      
       * After fully expanding a macro, we replace the expansion expression's
         span with the original span. Call fld.new_span to add a backtrace to
         this span. (Note that I'm call new_span after bt.pop(), so the macro
         just expanded isn't on the backtrace.)
      
         The motivating example for this change is println!("{}"). The format
         string literal is concat!($fmt, "arg") and is inside the libstd macro.
         We need to see the backtrace to find the println! call site.
      
       * Add a backtrace to the format_args! format expression span.
      
      Addresses #23459
      0f46e4f1
  4. 26 3月, 2015 1 次提交
    • F
      Switch drop-flag to `u8` to allow special tags to instrument state. · 3902190a
      Felix S. Klock II 提交于
      Refactored code so that the drop-flag values for initialized
      (`DTOR_NEEDED`) versus dropped (`DTOR_DONE`) are given explicit names.
      
      Add `mem::dropped()` (which with `DTOR_DONE == 0` is semantically the
      same as `mem::zeroed`, but the point is that it abstracts away from
      the particular choice of value for `DTOR_DONE`).
      
      Filling-drop needs to use something other than `ptr::read_and_zero`,
      so I added such a function: `ptr::read_and_drop`.  But, libraries
      should not use it if they can otherwise avoid it.
      
      Fixes to tests to accommodate filling-drop.
      3902190a
  5. 12 3月, 2015 4 次提交
  6. 05 3月, 2015 1 次提交
    • A
      std: Deprecate std::old_io::fs · 95d90462
      Alex Crichton 提交于
      This commit deprecates the majority of std::old_io::fs in favor of std::fs and
      its new functionality. Some functions remain non-deprecated but are now behind a
      feature gate called `old_fs`. These functions will be deprecated once
      suitable replacements have been implemented.
      
      The compiler has been migrated to new `std::fs` and `std::path` APIs where
      appropriate as part of this change.
      95d90462
  7. 24 2月, 2015 4 次提交
  8. 22 2月, 2015 2 次提交
  9. 10 2月, 2015 1 次提交
  10. 09 2月, 2015 1 次提交
  11. 06 2月, 2015 1 次提交
  12. 04 2月, 2015 1 次提交
    • N
      Remove the explicit closure kind syntax from the parser and AST; · 04311341
      Niko Matsakis 提交于
      upgrade the inference based on expected type so that it is able to
      infer the fn kind in isolation even if the full signature is not
      available (and we could perhaps do better still in some cases, such as
      extracting just the types of the arguments but not the return value).
      04311341
  13. 03 2月, 2015 1 次提交
  14. 30 1月, 2015 2 次提交
  15. 28 1月, 2015 1 次提交
  16. 27 1月, 2015 1 次提交
  17. 21 1月, 2015 1 次提交
  18. 18 1月, 2015 3 次提交
  19. 16 1月, 2015 1 次提交
  20. 15 1月, 2015 1 次提交
  21. 06 1月, 2015 3 次提交
  22. 05 1月, 2015 2 次提交
    • H
      Change `&` pat to only work with &T, and `&mut` with &mut T. · bf6c0077
      Huon Wilson 提交于
      This implements RFC 179 by making the pattern `&<pat>` require matching
      against a variable of type `&T`, and introducing the pattern `&mut
      <pat>` which only works with variables of type `&mut T`.
      
      The pattern `&mut x` currently parses as `&(mut x)` i.e. a pattern match
      through a `&T` or a `&mut T` that binds the variable `x` to have type
      `T` and to be mutable. This should be rewritten as follows, for example,
      
          for &mut x in slice.iter() {
      
      becomes
      
          for &x in slice.iter() {
              let mut x = x;
      
      Due to this, this is a
      
      [breaking-change]
      
      Closes #20496.
      bf6c0077
    • F
      Add syntax for negative implementations of traits · 8b883ab2
      Flavio Percoco 提交于
      This commit introduces the syntax for negative implmenetations of traits
      as shown below:
      
      `impl !Trait for Type {}`
      
      cc #13231
      Part of RFC #3
      8b883ab2
  23. 03 1月, 2015 1 次提交
  24. 02 1月, 2015 1 次提交
  25. 30 12月, 2014 2 次提交
  26. 29 12月, 2014 1 次提交