]> git.lizzy.rs Git - rust.git/commit
support `default impl` for specialization
authorGianni Ciccarelli <gianni.ciccarelli@gmail.com>
Tue, 24 Oct 2017 09:55:57 +0000 (09:55 +0000)
committerGianni Ciccarelli <gianni.ciccarelli@gmail.com>
Wed, 7 Feb 2018 18:31:39 +0000 (18:31 +0000)
commit13e80af159a709e5bb9a178b19b4319716261661
treea220ff64b4520ee6a2c4191c425f40379b3a54bf
parentf5c55ff379913b7acca2ae032120e74aaa4dd822
support `default impl` for specialization

a default impl should never be considered as implementing the
trait on its own -- regardless of whether it contains all items
or not
45 files changed:
src/librustc/ich/impls_ty.rs
src/librustc/traits/select.rs
src/librustc/traits/util.rs
src/librustc/ty/instance.rs
src/librustc/ty/mod.rs
src/librustc/ty/structural_impls.rs
src/librustc/ty/sty.rs
src/librustc/ty/trait_def.rs
src/librustc/util/ppaux.rs
src/librustc_mir/monomorphize/collector.rs
src/librustc_typeck/astconv.rs
src/librustc_typeck/check/dropck.rs
src/librustc_typeck/check/wfcheck.rs
src/librustc_typeck/collect.rs
src/test/compile-fail/specialization/defaultimpl/auxiliary/foo_trait.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/auxiliary/foo_trait_default_impl.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-default-projection.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-default-types.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-method-not-implemented-cross-crate-impl.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-method-not-implemented-cross-crate.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-method-not-implemented.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-bounds-casting.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-bounds-fn.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-bounds-impl-item.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-bounds-super-trait.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-bounds-trait-item.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-bounds-vec.rs [deleted file]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-item-not-implemented.rs [new file with mode: 0644]
src/test/compile-fail/specialization/defaultimpl/specialization-trait-not-implemented.rs [new file with mode: 0644]
src/test/run-pass/specialization/defaultimpl/assoc-fns.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/auxiliary/cross_crate.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/auxiliary/cross_crate_defaults.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/auxiliary/foo_trait.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/basics-unsafe.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/basics.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/cross-crate-defaults.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/cross-crate-no-gate.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/cross-crate.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/default-methods.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/projection-alias.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/specialization-trait-bounds.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/specialization-trait-item-not-implemented.rs [new file with mode: 0644]
src/test/run-pass/specialization/defaultimpl/specialization-traits-impl-default-method-cross-crate.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/specialization-traits-impl-default-method.rs [deleted file]
src/test/run-pass/specialization/defaultimpl/specialization-traits-impl.rs [deleted file]