// Check that we can specialize on a concrete iterator type. This requires us | |
// to consider which parameters in the parent impl are constrained. | |
//@ check-pass | |
#![feature(min_specialization)] | |
trait SpecFromIter<T> { | |
fn f(&self); | |
} | |
impl<'a, T: 'a, I: Iterator<Item = &'a T>> SpecFromIter<T> for I { | |
default fn f(&self) {} | |
} | |
impl<'a, T> SpecFromIter<T> for std::slice::Iter<'a, T> { | |
fn f(&self) {} | |
} | |
fn main() {} |