// rustc_hir_analysis/src/check/compare_impl_item.rs:2320-2757. trait Mark { fn value() -> u32 { 8 } } struct Member(T); impl Mark for Member {} trait Family { type Item: Mark; } struct Good; impl Family for Good { type Item = Member; } fn get() -> u32 { as Mark>::value() } #[test] fn gat_item_bounds() { assert_eq!(get::(), 8); }