1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#![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<A> {}
impl Foo<()> for () {}
impl Foo<u32> for () {}
#[define_opaque(FooX)]
fn foo() -> impl Foo<FooX> {
//[current]~^ ERROR: the trait bound `(): Foo<FooX>` is not satisfied
()
//[next]~^ ERROR: cannot satisfy `impl Foo<FooX> == ()`
}
fn main() {}
|