1 // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
40 // When we comment the next line:
43 // BEFORE, we got the following error for the `impl` below:
44 // error: use of undeclared trait name `Mul` [E0405]
45 // AFTER, we get this message:
46 // error: trait `Mul` is not in scope.
48 // help: you can import several candidates into scope (`use ...;`):
51 // help: `std::ops::Mul`
54 //~^ ERROR trait `Mul` is not in scope
57 //~| HELP `std::ops::Mul`
58 //~| HELP run `rustc --explain E0405` to see a detailed explanation
59 //~| HELP you can import several candidates into scope (`use ...;`):
63 // error: use of undeclared type name `Mul` [E0412]
65 // error: type name `Mul` is not in scope. Maybe you meant:
67 // help: you can import several candidates into scope (`use ...;`):
72 // help: and 2 other candidates
74 //~^ ERROR type name `Mul` is undefined or not in scope
79 //~| HELP and 2 other candidates
80 //~| HELP run `rustc --explain E0412` to see a detailed explanation
81 //~| HELP you can import several candidates into scope (`use ...;`):
84 // Let's also test what happens if the trait doesn't exist:
85 impl ThisTraitReallyDoesntExistInAnyModuleReally
for Foo
{
86 //~^ ERROR trait `ThisTraitReallyDoesntExistInAnyModuleReally` is not in scope
87 //~^^ HELP run `rustc --explain E0405` to see a detailed explanation
88 //~^^^ HELP no candidates by the name of `ThisTraitReallyDoesntExistInAnyModuleReally` found
91 // Let's also test what happens if there's just one alternative:
93 //~^ ERROR trait `Div` is not in scope
94 //~| HELP `use std::ops::Div;`
95 //~| HELP run `rustc --explain E0405` to see a detailed explanation
100 println
!("Hello, {:?}!", foo
);