2018-10-31 07:08:01 -05:00
|
|
|
// compile-pass
|
|
|
|
// skip-codegen
|
2018-12-28 17:11:13 -06:00
|
|
|
// revisions: old re
|
|
|
|
|
|
|
|
#![cfg_attr(re, feature(re_rebalance_coherence))]
|
2016-01-02 03:57:55 -06:00
|
|
|
#![allow(dead_code)]
|
|
|
|
// Here we do not get a coherence conflict because `Baz: Iterator`
|
|
|
|
// does not hold and (due to the orphan rules), we can rely on that.
|
|
|
|
|
|
|
|
pub trait Foo<P> {}
|
|
|
|
|
|
|
|
pub trait Bar {
|
|
|
|
type Output: 'static;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Baz;
|
|
|
|
impl Foo<i32> for Baz { }
|
|
|
|
|
|
|
|
impl<A:Iterator> Foo<A::Item> for A { }
|
|
|
|
|
2018-10-31 07:08:01 -05:00
|
|
|
|
|
|
|
fn main() {}
|