mirror of https://github.com/rust-lang/rust
36 lines
716 B
Rust
36 lines
716 B
Rust
//@ revisions: current next
|
|
//@ ignore-compare-mode-next-solver (explicit revisions)
|
|
//@[next] compile-flags: -Znext-solver
|
|
//@[current] check-pass
|
|
|
|
#![feature(type_alias_impl_trait)]
|
|
#![allow(dead_code)]
|
|
|
|
pub trait MyTrait {}
|
|
|
|
impl MyTrait for bool {}
|
|
|
|
type Foo = impl MyTrait;
|
|
|
|
struct Blah {
|
|
my_foo: Foo,
|
|
my_u8: u8,
|
|
}
|
|
|
|
impl Blah {
|
|
fn new() -> Blah {
|
|
Blah { my_foo: make_foo(), my_u8: 12 }
|
|
//[next]~^ ERROR type annotations needed: cannot satisfy `Foo == _`
|
|
}
|
|
fn into_inner(self) -> (Foo, u8, Foo) {
|
|
(self.my_foo, self.my_u8, make_foo())
|
|
//[next]~^ ERROR type annotations needed: cannot satisfy `Foo == _`
|
|
}
|
|
}
|
|
|
|
fn make_foo() -> Foo {
|
|
true
|
|
}
|
|
|
|
fn main() {}
|