summary refs log tree commit diff
path: root/src/test/ui/traits/test-2.rs
blob: d062de25ac8c1d0bb5d3485ba53c12b888640d91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#[allow(non_camel_case_types)]


trait bar { fn dup(&self) -> Self; fn blah<X>(&self); }
impl bar for i32 { fn dup(&self) -> i32 { *self } fn blah<X>(&self) {} }
impl bar for u32 { fn dup(&self) -> u32 { *self } fn blah<X>(&self) {} }

fn main() {
    10.dup::<i32>(); //~ ERROR type annotations needed
    //~^ ERROR this associated function takes 0 generic arguments but 1
    10.blah::<i32, i32>(); //~ ERROR type annotations needed
    //~^ ERROR this associated function takes 1 generic argument but 2
    (Box::new(10) as Box<dyn bar>).dup();
    //~^ ERROR E0038
    //~| ERROR E0038
    //~| ERROR E0038
}