// Test that we don't ICE for a typeck error that only shows up in dropck | |
// Version where the normalization error is an ambiguous trait implementation. | |
// <[T] as ToOwned>::Owned is ambiguous on whether to use T: Clone or [T]::Clone. | |
// Regression test for #105299 | |
pub trait Foo: Clone {} | |
pub struct Bar<'a, T: Clone> { | |
pub cow: std::borrow::Cow<'a, [T]>, | |
pub THIS_CAUSES_ICE: (), | |
} | |
impl<T> Bar<'_, T> | |
where | |
T: Clone, | |
[T]: Foo, | |
{ | |
pub fn MOVES_SELF(self) {} | |
//~^ ERROR type annotations needed | |
} | |
pub fn main() {} |