]> git.proxmox.com Git - rustc.git/blame - src/test/ui/generic-associated-types/trait-objects.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / generic-associated-types / trait-objects.rs
CommitLineData
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
6trait 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
13fn 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
19fn main() {}