summaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/torture/generics9.rs
blob: 307c34f3e9b18dfcc9622dca652a32072bac14eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
struct GenericStruct<T>(T, usize);

impl<T> GenericStruct<T> {
    fn new(a: T, b: usize) -> Self {
        GenericStruct(a, b)
    }

    fn get(self) -> T {
        self.0
    }
}

fn main() {
    let a: GenericStruct<i32> = GenericStruct::<i32>::new(123, 456);
    let aa: i32 = a.get();
    // { dg-warning "unused name" "" { target *-*-* } .-1 }

    let b: GenericStruct<u32> = GenericStruct::<_>::new(123, 456);
    let bb: u32 = b.get();
    // { dg-warning "unused name" "" { target *-*-* } .-1 }

    let c: GenericStruct<f32> = GenericStruct::new(123f32, 456);
    let cc: f32 = c.get();
    // { dg-warning "unused name" "" { target *-*-* } .-1 }
}