Open
Description
Due to pending obligations in the new fulfillment context recording only the root obligations and not the leaf obligations that have stalled, this code fails to compile:
trait Foo {}
fn needs_foo<T>(_: T) where Wrap<T>: Foo {}
struct Wrap<T>(T);
impl<T> Foo for Wrap<T> where T: Fn(i32) {}
fn main() {
needs_foo(|x| {
x.to_string();
});
}
Recording this here so I can add a test in the UI test suite for it, since if we ever experiment with removing pending_obligations
, this will likely go from pass -> fail.
Metadata
Metadata
Assignees
Labels
No labels