]> git.lizzy.rs Git - rust.git/commit
Refactor compare_impl_method to use all bounds
authorJared Roesch <roeschinc@gmail.com>
Wed, 14 Jan 2015 21:43:17 +0000 (13:43 -0800)
committerJared Roesch <roeschinc@gmail.com>
Wed, 14 Jan 2015 21:43:17 +0000 (13:43 -0800)
commit6a66b3227087d3336d8a0e2583dfd35ae93f950b
tree16508acfc187613ffb06904a6d511412e552bf9b
parent896cb36ecab3eaeb7f101087e030e43771eca5ca
Refactor compare_impl_method to use all bounds

Refactor compare_impl_method into its own file. Modify the
code to stop comparing individual parameter bounds.
Instead we now use the predicates list attached to the trait
and implementation generics. This ensures consistency even
when bounds are declared in different places (i.e on
a parameter vs. in a where clause).
13 files changed:
src/librustc/middle/subst.rs
src/librustc/middle/traits/error_reporting.rs
src/librustc/middle/traits/mod.rs
src/librustc/middle/ty.rs
src/librustc/middle/ty_fold.rs
src/librustc_typeck/check/compare_method.rs [new file with mode: 0644]
src/librustc_typeck/check/mod.rs
src/test/compile-fail/issue-14853.rs
src/test/compile-fail/issue-2611-4.rs
src/test/compile-fail/regions-bound-missing-bound-in-impl.rs
src/test/compile-fail/trait-bounds-impl-comparison-1.rs
src/test/compile-fail/trait-bounds-impl-comparison-2.rs
src/test/run-pass/where-clause-bounds-inconsistency.rs [new file with mode: 0644]