//@ run-rustfix
#![allow(dead_code)]
trait O {
    type M;
}
trait U<A: O> {
    const N: A::M;
}
impl<D> O for D {
    type M = u8;
}
impl<C: O<M = u8>> U<C> for u16 {
    const N: C::M = 4u8; //~ ERROR mismatched types
}
fn main() {}
