2021-10-22 13:55:56 -05:00
|
|
|
#![feature(rustc_attrs)]
|
|
|
|
#![feature(trait_alias)]
|
2022-01-30 15:55:22 -06:00
|
|
|
#![feature(with_negative_coherence)]
|
2021-10-22 13:55:56 -05:00
|
|
|
|
|
|
|
trait A {}
|
|
|
|
trait B {}
|
|
|
|
trait AB = A + B;
|
|
|
|
|
|
|
|
impl A for u32 {}
|
|
|
|
impl B for u32 {}
|
|
|
|
|
|
|
|
#[rustc_strict_coherence]
|
2022-01-30 15:55:22 -06:00
|
|
|
trait C {}
|
2021-10-22 13:55:56 -05:00
|
|
|
impl<T: AB> C for T {}
|
|
|
|
impl C for u32 {}
|
|
|
|
//~^ ERROR
|
|
|
|
// FIXME it's giving an ungreat error but unsure if we care given that it's using an internal rustc
|
|
|
|
// attribute and an artificial code path for testing purposes
|
|
|
|
|
|
|
|
fn main() {}
|