// Test that we don't get an error with `dyn Bar` in an impl Trait // when there are multiple inputs. The `dyn Bar` should default to `+ // 'static`. This used to erroneously generate an error (cc #62517). // //@ revisions: current next //@[next] compile-flags: -Znext-solver //@ ignore-compare-mode-next-solver (explicit revisions) //@ check-pass trait Foo { type Item: ?Sized; fn item(&self) -> Box { panic!() } } trait Bar { } impl Foo for T { type Item = dyn Bar; } fn is_static(_: T) where T: 'static { } fn bar(x: &str) -> &impl Foo { &() } fn main() { let s = format!("foo"); let r = bar(&s); is_static(r.item()); }