blob: 32b39c8823d5c21735ff509029955be1e283f22b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver
//@ check-pass
#![feature(type_alias_impl_trait)]
#![allow(dead_code)]
pub trait MyTrait {}
impl MyTrait for bool {}
pub type Foo = impl MyTrait;
#[define_opaque(Foo)]
pub fn make_foo() -> Foo {
true
}
struct Blah {
my_foo: Foo,
my_u8: u8,
}
impl Blah {
fn new() -> Blah {
Blah { my_foo: make_foo(), my_u8: 12 }
}
fn into_inner(self) -> (Foo, u8, Foo) {
(self.my_foo, self.my_u8, make_foo())
}
}
fn main() {}
|