blob: be0d990284b0c0b750410fb6c2392ab114e921b5 [file] [edit]
//@ run-pass
#![feature(supertrait_item_shadowing)]
#![feature(min_generic_const_args)]
#![allow(dead_code)]
trait A {
const CONST: i32;
}
impl<T> A for T {
const CONST: i32 = 1;
}
trait B: A {
type const CONST: i32;
}
impl<T> B for T {
type const CONST: i32 = 2;
}
trait C: B {}
impl<T> C for T {}
fn main() {
assert_eq!(i32::CONST, 2);
generic::<u32>();
}
fn generic<T: C<CONST = 2>>() {
assert_eq!(T::CONST, 2);
}