diff --git a/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs b/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs index ae1556cb4dc88..f14589ccf846d 100644 --- a/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs +++ b/src/test/ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs @@ -9,11 +9,12 @@ // with existing impls - at least the `impl From for T` impl. There are // 2 ways we thought of for dealing with that conflict: // -// 1. Using specialization and doing some handling for the overlap. The current -// thought is for something like "lattice specialization", which means providing -// an (higher-priority) impl for the intersection of every 2 conflicting impls -// that determines what happens in the intersection case. That's the first -// thing we thought about - see e.g. +// 1. Using specialization and doing some handling for the +// overlap. The current thought is to require ["intersection +// impls"][ii], specialization", which means providing an +// (higher-priority) impl for the intersection of every 2 conflicting +// impls that determines what happens in the intersection case. That's +// the first thing we thought about - see e.g. // https://github.com/rust-lang/rust/issues/57012#issuecomment-452150775 // // 2. The other way is to notice that `impl From for T` is basically a @@ -26,6 +27,8 @@ // breaking backwards-compatibility in a fairly painful way. So if we want to // go with a known approach, we should go with a "marker trait overlap"-style // approach. +// +// [ii]: http://smallcultfollowing.com/babysteps/blog/2016/09/24/intersection-impls/ #![feature(rustc_attrs, never_type)]