]>
git.proxmox.com Git - rustc.git/blob - tests/ui/associated-type-bounds/fn-apit.rs
5 #![feature(associated_type_bounds)]
11 fn apit_bound(beta
: impl Beta
<Gamma
: Alpha
>) -> usize {
15 fn apit_bound_region(beta
: impl Beta
<Gamma
: '
static>) -> usize {
16 desugared_bound_region(beta
)
20 beta
: impl Copy
+ Beta
<Gamma
: Alpha
+ '
static + Delta
>
22 desugared_bound_multi(beta
)
25 fn apit_bound_region_forall(
26 beta
: impl Beta
<Gamma
: Copy
+ for<'a
> Epsilon
<'a
>>
28 desugared_bound_region_forall(beta
)
31 fn apit_bound_region_forall2(
32 beta
: impl Beta
<Gamma
: Copy
+ for<'a
> Epsilon
<'a
, Zeta
: Eta
>>
34 desugared_bound_region_forall2(beta
)
38 beta
: impl Beta
<Gamma
: Copy
+ Alpha
+ Beta
<Gamma
: Delta
>>
40 desugared_bound_nested(beta
)
43 fn apit_bound_nested2(
44 beta
: impl Beta
<Gamma
= impl Copy
+ Alpha
+ Beta
<Gamma
: Delta
>>
46 desugared_bound_nested(beta
)
51 let _gamma
= beta
.gamma();
53 assert_eq
!(42, apit_bound(beta
));
54 assert_eq
!(24, apit_bound_region(beta
));
55 assert_eq
!(42 + 24 + 1337, apit_bound_multi(beta
));
56 assert_eq
!(7331 * 2, apit_bound_region_forall(beta
));
57 assert_eq
!(42 + 1337, apit_bound_nested(beta
));
58 assert_eq
!(42 + 1337, apit_bound_nested2(beta
));