| //! Regression test for <https://github.com/rust-lang/rust/issues/137308>. | |
| //! | |
| //! This used to ICE in layout computation, because `<u8 as A>::B` fails to normalize | |
| //! due to the unconstrained param on the impl. | |
| #![feature(rustc_attrs)] | |
| #![crate_type = "lib"] | |
| trait A { | |
| const B: usize; | |
| } | |
| impl<C: ?Sized> A for u8 { //~ ERROR: the type parameter `C` is not constrained | |
| const B: usize = 42; | |
| } | |
| #[rustc_layout(debug)] | |
| struct S([u8; <u8 as A>::B]); | |
| //~^ ERROR: the type has an unknown layout |