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() {}
|