aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/issue-2135.rs
blob: 9f4d3e1b6c18cd7169aaa0eebdf327bcb87ec42b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#[lang = "sized"]
pub trait Sized {}

pub trait Foo<A> {
    fn foo(self, _: A) -> u16;
}

impl Foo<u16> for u16 {
    fn foo(self, _: u16) -> u16 {
        self
    }
}

impl Foo<u8> for u16 {
    fn foo(self, _: u8) -> u16 {
        self
    }
}

pub fn bar() -> u16 {
    <u16 as Foo<u16>>::foo(0u16, 0u16)
}