1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // Test that we can resolve nested projection types. Issue #20666.
13 // pretty-expanded FIXME #23616
17 use std::marker::MarkerTrait;
20 trait Bound : MarkerTrait {}
22 impl<'a> Bound for &'a i32 {}
27 fn into_iter(self) -> Self::Iter;
30 impl<'a, T> IntoIterator for &'a [T; 3] {
31 type Iter = slice::Iter<'a, T>;
33 fn into_iter(self) -> slice::Iter<'a, T> {
40 <<X as IntoIterator>::Iter as Iterator>::Item: Bound,
44 fn bar<T, I, X>(x: X) where
47 X: IntoIterator<Iter=I>,