]>
Commit | Line | Data |
---|---|---|
3c0e092e XL |
1 | struct Uwu<const N: u32 = 1, const M: u32 = N>; |
2 | ||
3 | trait Trait {} | |
4 | impl<const N: u32> Trait for Uwu<N> {} | |
5 | ||
6 | fn rawr() -> impl Trait { | |
7 | //~^ error: the trait bound `Uwu<10_u32, 12_u32>: Trait` is not satisfied | |
8 | Uwu::<10, 12> | |
9 | } | |
10 | ||
11 | trait Traitor<const N: u8 = 1, const M: u8 = N> { } | |
12 | ||
13 | impl<const N: u8> Traitor<N, 2> for u32 {} | |
14 | impl Traitor<1, 2> for u64 {} | |
15 | ||
16 | ||
17 | fn uwu<const N: u8>() -> impl Traitor<N> { | |
923072b8 | 18 | //~^ error: the trait bound `u32: Traitor<N>` is not satisfied |
3c0e092e XL |
19 | 1_u32 |
20 | } | |
21 | ||
22 | fn owo() -> impl Traitor { | |
923072b8 | 23 | //~^ error: the trait bound `u64: Traitor` is not satisfied |
3c0e092e XL |
24 | 1_u64 |
25 | } | |
26 | ||
27 | fn main() { | |
28 | rawr(); | |
29 | uwu(); | |
30 | owo(); | |
31 | } |