]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
ff7c6d11 XL |
2 | use std::iter::{Fuse, Cloned}; |
3 | use std::slice::Iter; | |
ea8adc8c | 4 | |
064997fb | 5 | struct Foo<'a, T: 'a>(#[allow(unused_tuple_struct_fields)] &'a T); |
ff7c6d11 XL |
6 | impl<'a, T: 'a> Copy for Foo<'a, T> {} |
7 | impl<'a, T: 'a> Clone for Foo<'a, T> { | |
8 | fn clone(&self) -> Self { *self } | |
9 | } | |
10 | ||
11 | fn copy_ex() { | |
12 | let s = 2; | |
13 | let k1 = || s; | |
14 | let upvar = Foo(&k1); | |
15 | let k = || upvar; | |
16 | k(); | |
ea8adc8c XL |
17 | } |
18 | ||
223e47cc | 19 | fn main() { |
dc9dc135 | 20 | let _f: *mut <Fuse<Cloned<Iter<u8>>> as Iterator>::Item = std::ptr::null_mut(); |
ff7c6d11 XL |
21 | |
22 | copy_ex(); | |
223e47cc | 23 | } |