2022-03-17 10:36:12 -05:00
|
|
|
//@ check-pass
|
|
|
|
|
2021-10-22 13:44:28 -05:00
|
|
|
#![feature(negative_impls)]
|
|
|
|
#![feature(rustc_attrs)]
|
|
|
|
#![feature(trait_alias)]
|
2022-01-30 15:55:22 -06:00
|
|
|
#![feature(with_negative_coherence)]
|
2021-10-22 13:44:28 -05:00
|
|
|
|
|
|
|
trait A {}
|
|
|
|
trait B {}
|
|
|
|
trait AB = A + B;
|
|
|
|
|
|
|
|
impl !A for u32 {}
|
|
|
|
|
|
|
|
#[rustc_strict_coherence]
|
2022-01-30 15:55:22 -06:00
|
|
|
trait C {}
|
2021-10-22 13:44:28 -05:00
|
|
|
impl<T: AB> C for T {}
|
|
|
|
impl C for u32 {}
|
|
|
|
|
|
|
|
fn main() {}
|