diff options
| -rw-r--r-- | Cargo.lock | 1 | ||||
| -rw-r--r-- | src/librustc_traits/Cargo.toml | 1 | ||||
| -rw-r--r-- | src/librustc_traits/chalk_context/mod.rs | 9 |
3 files changed, 4 insertions, 7 deletions
diff --git a/Cargo.lock b/Cargo.lock index 7c074fb18a6..54a54f1a0c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3819,6 +3819,7 @@ dependencies = [ "log", "rustc", "rustc_data_structures", + "rustc_macros", "rustc_target", "smallvec 1.0.0", "syntax", diff --git a/src/librustc_traits/Cargo.toml b/src/librustc_traits/Cargo.toml index a9b184a7b30..fab177139dc 100644 --- a/src/librustc_traits/Cargo.toml +++ b/src/librustc_traits/Cargo.toml @@ -12,6 +12,7 @@ path = "lib.rs" log = { version = "0.4" } rustc = { path = "../librustc" } rustc_data_structures = { path = "../librustc_data_structures" } +rustc_macros = { path = "../librustc_macros" } rustc_target = { path = "../librustc_target" } syntax = { path = "../libsyntax" } syntax_pos = { path = "../libsyntax_pos" } diff --git a/src/librustc_traits/chalk_context/mod.rs b/src/librustc_traits/chalk_context/mod.rs index 8d136a1b65c..84d2271020f 100644 --- a/src/librustc_traits/chalk_context/mod.rs +++ b/src/librustc_traits/chalk_context/mod.rs @@ -39,6 +39,7 @@ use rustc::ty::query::Providers; use rustc::ty::subst::{GenericArg, GenericArgKind}; use rustc::mir::interpret::ConstValue; use syntax_pos::DUMMY_SP; +use rustc_macros::TypeFoldable; use std::fmt::{self, Debug}; use std::marker::PhantomData; @@ -66,18 +67,12 @@ crate struct UniverseMap; crate type RegionConstraint<'tcx> = ty::OutlivesPredicate<GenericArg<'tcx>, ty::Region<'tcx>>; -#[derive(Clone, Debug, PartialEq, Eq, Hash)] +#[derive(Clone, Debug, PartialEq, Eq, Hash, TypeFoldable)] crate struct ConstrainedSubst<'tcx> { subst: CanonicalVarValues<'tcx>, constraints: Vec<RegionConstraint<'tcx>>, } -BraceStructTypeFoldableImpl! { - impl<'tcx> TypeFoldable<'tcx> for ConstrainedSubst<'tcx> { - subst, constraints - } -} - impl context::Context for ChalkArenas<'tcx> { type CanonicalExClause = Canonical<'tcx, ChalkExClause<'tcx>>; |
