1. 13 1月, 2017 1 次提交
    • E
      E0034: provide disambiguated syntax for candidates · f595ea25
      Esteban Küber 提交于
      For a given file
      
      ```rust
      trait A { fn foo(&self) {} }
      trait B : A { fn foo(&self) {} }
      
      fn bar<T: B>(a: &T) {
        a.foo()
      }
      ```
      
      provide the following output
      
      ```
      error[E0034]: multiple applicable items in scope
       --> file.rs:6:5
        |
      6 |   a.foo(1)
        |     ^^^ multiple `foo` found
        |
      note: candidate #1 is defined in the trait `A`
       --> file.rs:2:11
        |
      2 | trait A { fn foo(&self, a: usize) {} }
        |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
      help: to use it here write `A::foo(&a, 1)` instead
       --> file.rs:6:5
        |
      6 |   a.foo(1)
        |     ^^^
      note: candidate #2 is defined in the trait `B`
       --> file.rs:3:15
        |
      3 | trait B : A { fn foo(&self, a: usize) {} }
        |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
      help: to use it here write `B::foo(&a, 1)` instead
       --> file.rs:6:5
        |
      6 |   a.foo(1)
        |     ^^^
      ```
      f595ea25
  2. 14 6月, 2016 1 次提交
  3. 13 6月, 2016 1 次提交
  4. 07 5月, 2016 2 次提交
    • N
      s/aux/auxiliary, because windows · 8b1941a7
      Niko Matsakis 提交于
      For legacy reasons (presumably), Windows does not permit files name aux.
      8b1941a7
    • N
      move auxiliary builds to a test-relative `aux` · fbc082dc
      Niko Matsakis 提交于
      Instead of finding aux-build files in `auxiliary`, we now search for an
      `aux` directory relative to the test. So if your test is
      `compile-fail/foo.rs`, we would look in `compile-fail/aux`.  Similarly,
      we ignore the `aux` directory when searching for tets.
      fbc082dc
  5. 11 2月, 2016 1 次提交
    • B
      Workaround LLVM optimizer bug by not marking &mut pointers as noalias · a17fb64f
      Björn Steinbrink 提交于
      LLVM's memory dependence analysis doesn't properly account for calls
      that could unwind and thus effectively act as a branching point. This
      can lead to stores that are only visible when the call unwinds being
      removed, possibly leading to calls to drop() functions with b0rked
      memory contents.
      
      As there is no fix for this in LLVM yet and we want to keep
      compatibility to current LLVM versions anyways, we have to workaround
      this bug by omitting the noalias attribute on &mut function arguments.
      Benchmarks suggest that the performance loss by this change is very
      small.
      
      Thanks to @RalfJung for pushing me towards not removing too many
      noalias annotations and @alexcrichton for helping out with the test for
      this bug.
      
      Fixes #29485
      a17fb64f
  6. 09 1月, 2016 1 次提交
  7. 08 1月, 2016 1 次提交
    • F
      update test to reflect other sources of brokenness in it under new · a2960bc7
      Felix S. Klock II 提交于
      macro future proofing rules.
      
      (We may want to think about what this test was actually testing and
      figure out a way to test it without running afoul of macro future
      proofing.  I spent some time trying to do this, e.g. by inserting
      parenthesis in the macro input pattern, but I could not quickly get it
      working, so I took this tack instead.)
      a2960bc7
  8. 06 1月, 2016 1 次提交
  9. 24 3月, 2015 1 次提交
  10. 17 11月, 2014 1 次提交
    • S
      Switch to purely namespaced enums · 3dcd2157
      Steven Fackler 提交于
      This breaks code that referred to variant names in the same namespace as
      their enum. Reexport the variants in the old location or alter code to
      refer to the new locations:
      
      ```
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = A;
      }
      ```
      =>
      ```
      pub use self::Foo::{A, B};
      
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = A;
      }
      ```
      or
      ```
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = Foo::A;
      }
      ```
      
      [breaking-change]
      3dcd2157
  11. 24 4月, 2014 1 次提交
  12. 08 2月, 2014 1 次提交
  13. 25 9月, 2013 1 次提交
  14. 14 6月, 2013 1 次提交
  15. 31 5月, 2013 1 次提交