]> git.lizzy.rs Git - rust.git/blob - tests/ui/impl-trait/no-method-suggested-traits.rs
Rollup merge of #106799 - scottmcm:remove-unused-generics, r=cuviper
[rust.git] / tests / ui / impl-trait / no-method-suggested-traits.rs
1 // aux-build:no_method_suggested_traits.rs
2 extern crate no_method_suggested_traits;
3
4 struct Foo;
5 enum Bar { X }
6
7 mod foo {
8     pub trait Bar {
9         fn method(&self) {}
10
11         fn method2(&self) {}
12     }
13
14     impl Bar for u32 {}
15
16     impl Bar for char {}
17 }
18
19 fn main() {
20     // test the values themselves, and autoderef.
21
22
23     1u32.method();
24     //~^ ERROR no method named
25     //~|items from traits can only be used if the trait is in scope
26     std::rc::Rc::new(&mut Box::new(&1u32)).method();
27     //~^items from traits can only be used if the trait is in scope
28     //~| ERROR no method named `method` found for struct
29
30     'a'.method();
31     //~^ ERROR no method named
32     std::rc::Rc::new(&mut Box::new(&'a')).method();
33     //~^ ERROR no method named
34
35     1i32.method();
36     //~^ ERROR no method named
37     std::rc::Rc::new(&mut Box::new(&1i32)).method();
38     //~^ ERROR no method named
39
40     Foo.method();
41     //~^ ERROR no method named
42     std::rc::Rc::new(&mut Box::new(&Foo)).method();
43     //~^ ERROR no method named
44
45     1u64.method2();
46     //~^ ERROR no method named
47     std::rc::Rc::new(&mut Box::new(&1u64)).method2();
48     //~^ ERROR no method named
49
50     no_method_suggested_traits::Foo.method2();
51     //~^ ERROR no method named
52     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2();
53     //~^ ERROR no method named
54     no_method_suggested_traits::Bar::X.method2();
55     //~^ ERROR no method named
56     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method2();
57     //~^ ERROR no method named
58
59     Foo.method3();
60     //~^ ERROR no method named
61     std::rc::Rc::new(&mut Box::new(&Foo)).method3();
62     //~^ ERROR no method named
63     Bar::X.method3();
64     //~^ ERROR no method named
65     std::rc::Rc::new(&mut Box::new(&Bar::X)).method3();
66     //~^ ERROR no method named
67
68     // should have no help:
69     1_usize.method3(); //~ ERROR no method named
70     std::rc::Rc::new(&mut Box::new(&1_usize)).method3(); //~ ERROR no method named
71     no_method_suggested_traits::Foo.method3();  //~ ERROR no method named
72     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method3();
73     //~^ ERROR no method named
74     no_method_suggested_traits::Bar::X.method3();  //~ ERROR no method named
75     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3();
76     //~^ ERROR no method named
77 }