mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 14:01:51 +00:00
50 lines
633 B
Rust
50 lines
633 B
Rust
struct A {}
|
|
|
|
fn main() {
|
|
let _a = A {};
|
|
_a.new(1);
|
|
//~^ ERROR no method named `new` found for struct `A` in the current scope
|
|
}
|
|
|
|
trait M {
|
|
fn new(_a: i32);
|
|
}
|
|
impl M for A {
|
|
fn new(_a: i32) {}
|
|
}
|
|
|
|
trait N {
|
|
fn new(_a: Self, _b: i32);
|
|
}
|
|
impl N for A {
|
|
fn new(_a: Self, _b: i32) {}
|
|
}
|
|
|
|
trait O {
|
|
fn new(_a: Self, _b: i32);
|
|
}
|
|
impl O for A {
|
|
fn new(_a: A, _b: i32) {}
|
|
}
|
|
|
|
struct S;
|
|
|
|
trait TraitA {
|
|
fn f(self);
|
|
}
|
|
trait TraitB {
|
|
fn f(self);
|
|
}
|
|
|
|
impl<T> TraitA for T {
|
|
fn f(self) {}
|
|
}
|
|
impl<T> TraitB for T {
|
|
fn f(self) {}
|
|
}
|
|
|
|
fn test() {
|
|
S.f();
|
|
//~^ multiple applicable items in scope
|
|
}
|