]>
Commit | Line | Data |
---|---|---|
5e7ed085 FG |
1 | // revisions: base extended |
2 | ||
5e7ed085 FG |
3 | #![cfg_attr(extended, feature(generic_associated_types_extended))] |
4 | #![cfg_attr(extended, allow(incomplete_features))] | |
cdc7bbd5 XL |
5 | |
6 | trait StreamingIterator { | |
7 | type Item<'a> where Self: 'a; | |
8 | fn size_hint(&self) -> (usize, Option<usize>); | |
9 | // Uncommenting makes `StreamingIterator` not object safe | |
10 | // fn next(&mut self) -> Self::Item<'_>; | |
11 | } | |
12 | ||
13 | fn min_size(x: &mut dyn for<'a> StreamingIterator<Item<'a> = &'a i32>) -> usize { | |
5e7ed085 | 14 | //[base]~^ the trait `StreamingIterator` cannot be made into an object |
cdc7bbd5 | 15 | x.size_hint().0 |
923072b8 | 16 | //[extended]~^ borrowed data escapes |
cdc7bbd5 XL |
17 | } |
18 | ||
19 | fn main() {} |