#![feature(type_alias_impl_trait)] #![allow(dead_code)] //@ revisions: current next //@ ignore-compare-mode-next-solver (explicit revisions) //@[next] compile-flags: -Znext-solver use std::fmt::Debug; type FooX = impl Debug; trait Foo {} impl Foo<()> for () {} impl Foo for () {} #[define_opaque(FooX)] fn foo() -> impl Foo { //[current]~^ ERROR: the trait bound `(): Foo` is not satisfied () //[next]~^ ERROR: type annotations needed } fn main() {}