about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.rs
blob: 28fd66cd1694a7132245f968d48bae6ffd603fbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//@ compile-flags: -Znext-solver

// Coherence should handle overflow while normalizing for
// `trait_ref_is_knowable` correctly.

trait Overflow {
    type Assoc;
}
impl<T> Overflow for T
where
    (T,): Overflow
{
    type Assoc = <(T,) as Overflow>::Assoc;
}


trait Trait {}
impl<T: Copy> Trait for T {}
struct LocalTy;
impl Trait for <LocalTy as Overflow>::Assoc {}
//~^ ERROR conflicting implementations of trait `Trait`

fn main() {}