]> git.lizzy.rs Git - rust.git/commit
Implement RFC 1268
authorSean Griffin <sean@seantheprogrammer.com>
Sat, 25 Feb 2017 21:16:27 +0000 (16:16 -0500)
committerCorey Farwell <coreyf@rwell.org>
Sat, 15 Apr 2017 02:04:53 +0000 (22:04 -0400)
commit4aca54001865435c799757c6fcb8595c23ff6c77
tree3412c88a03f0a86f1cba581b4476ca694cce6542
parentf0ca5d4bad07a4fc8497bd9766cdadaee1bd0ac6
Implement RFC 1268

This patch allows overlap to occur between any two impls of a trait for
traits which have no associated items.

Several compile-fail tests around coherence had to be changed to add at
least one item to the trait they test against.

Ref #29864
20 files changed:
src/librustc/traits/specialize/mod.rs
src/librustc/traits/specialize/specialization_graph.rs
src/librustc/ty/mod.rs
src/test/compile-fail/E0120.rs
src/test/compile-fail/coherence-conflicting-negative-trait-impl.rs
src/test/compile-fail/coherence-default-trait-impl.rs
src/test/compile-fail/coherence-impls-send.rs
src/test/compile-fail/coherence-no-direct-lifetime-dispatch.rs
src/test/compile-fail/coherence-overlap-all-t-and-tuple.rs
src/test/compile-fail/coherence-overlap-messages.rs
src/test/compile-fail/coherence-projection-conflict-orphan.rs
src/test/compile-fail/coherence-projection-conflict-ty-param.rs
src/test/compile-fail/coherence-projection-conflict.rs
src/test/compile-fail/coherence_copy_like_err_fundamental_struct.rs
src/test/compile-fail/coherence_copy_like_err_fundamental_struct_ref.rs
src/test/compile-fail/coherence_copy_like_err_fundamental_struct_tuple.rs
src/test/compile-fail/coherence_copy_like_err_struct.rs
src/test/compile-fail/coherence_copy_like_err_tuple.rs
src/test/compile-fail/specialization/specialization-overlap.rs
src/test/run-pass/overlap-permitted-for-marker-traits.rs [new file with mode: 0644]