//@ known-bug: #138707 //@edition:2024 //@compile-flags: --crate-type lib use core::marker::PhantomData; struct LeftReflector { _phantom: PhantomData, } struct DefaultAllocator {} trait Allocator { type Buffer; } struct U2 {} impl Allocator for DefaultAllocator { type Buffer = [u8; 2]; } impl From for LeftReflector<>::Buffer> where DefaultAllocator: Allocator, { fn from(_: R) -> Self { todo!() } } fn ice(a: U2) where DefaultAllocator: Allocator, { // ICE let _ = LeftReflector::from(a); }