diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_feature/active.rs | 2 | ||||
| -rw-r--r-- | src/librustc_infer/infer/nll_relate/mod.rs | 4 | ||||
| -rw-r--r-- | src/librustc_session/options.rs | 2 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/error_reporting/mod.rs | 1 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/fulfill.rs | 5 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/object_safety.rs | 3 | ||||
| -rw-r--r-- | src/librustc_typeck/collect.rs | 2 |
7 files changed, 11 insertions, 8 deletions
diff --git a/src/librustc_feature/active.rs b/src/librustc_feature/active.rs index f075988099b..894b392f1c0 100644 --- a/src/librustc_feature/active.rs +++ b/src/librustc_feature/active.rs @@ -558,7 +558,7 @@ declare_features! ( /// Allow negative trait implementations. (active, negative_impls, "1.44.0", Some(68318), None), - + /// Lazily evaluate constants. Which allows constants to depend on type parameters. (active, lazy_normalization_consts, "1.44.0", Some(60471), None), diff --git a/src/librustc_infer/infer/nll_relate/mod.rs b/src/librustc_infer/infer/nll_relate/mod.rs index 58acca70041..e67ea56cf89 100644 --- a/src/librustc_infer/infer/nll_relate/mod.rs +++ b/src/librustc_infer/infer/nll_relate/mod.rs @@ -595,8 +595,8 @@ where b = self.infcx.shallow_resolve(b); } - match (a.val, b.val) { - (_, ty::ConstKind::Infer(InferConst::Var(_))) if D::forbid_inference_vars() => { + match b.val { + ty::ConstKind::Infer(InferConst::Var(_)) if D::forbid_inference_vars() => { // Forbid inference variables in the RHS. bug!("unexpected inference var {:?}", b) } diff --git a/src/librustc_session/options.rs b/src/librustc_session/options.rs index f02659cdb99..e2c82a397c7 100644 --- a/src/librustc_session/options.rs +++ b/src/librustc_session/options.rs @@ -870,7 +870,7 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, instrument_mcount: bool = (false, parse_bool, [TRACKED], "insert function instrument code for mcount-based tracing (default: no)"), keep_hygiene_data: bool = (false, parse_bool, [UNTRACKED], - "lazily evaluate constants (experimental)"), + "keep hygiene data after analysis (default: no)"), link_native_libraries: bool = (true, parse_bool, [UNTRACKED], "link native libraries in the linker invocation (default: yes)"), link_only: bool = (false, parse_bool, [TRACKED], diff --git a/src/librustc_trait_selection/traits/error_reporting/mod.rs b/src/librustc_trait_selection/traits/error_reporting/mod.rs index 1b8f2e1ae9f..139b8600722 100644 --- a/src/librustc_trait_selection/traits/error_reporting/mod.rs +++ b/src/librustc_trait_selection/traits/error_reporting/mod.rs @@ -616,7 +616,6 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { ) } - ty::Predicate::ConstEquate(..) => { // Errors for `ConstEquate` predicates show up as // `SelectionError::ConstEvalFailure`, diff --git a/src/librustc_trait_selection/traits/fulfill.rs b/src/librustc_trait_selection/traits/fulfill.rs index 18ba46dce23..cf107a6c5b5 100644 --- a/src/librustc_trait_selection/traits/fulfill.rs +++ b/src/librustc_trait_selection/traits/fulfill.rs @@ -539,7 +539,10 @@ impl<'a, 'b, 'tcx> ObligationProcessor for FulfillProcessor<'a, 'b, 'tcx> { Ok(val) => Ok(Const::from_value(self.selcx.tcx(), val, c.ty)), Err(ErrorHandled::TooGeneric) => { stalled_on.append( - &mut substs.types().filter_map(|ty| TyOrConstInferVar::maybe_from_ty(ty)).collect(), + &mut substs + .types() + .filter_map(|ty| TyOrConstInferVar::maybe_from_ty(ty)) + .collect(), ); Err(ProcessResult::Unchanged) } diff --git a/src/librustc_trait_selection/traits/object_safety.rs b/src/librustc_trait_selection/traits/object_safety.rs index 3b4533b04ba..a34006dd4fc 100644 --- a/src/librustc_trait_selection/traits/object_safety.rs +++ b/src/librustc_trait_selection/traits/object_safety.rs @@ -17,7 +17,8 @@ use rustc_errors::{Applicability, FatalError}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_middle::ty::subst::{GenericArg, InternalSubsts, Subst}; -use rustc_middle::ty::{self, Predicate, ToPredicate, Ty, TyCtxt, TypeFoldable, TypeVisitor, WithConstness}; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable, TypeVisitor, WithConstness}; +use rustc_middle::ty::{Predicate, ToPredicate}; use rustc_session::lint::builtin::WHERE_CLAUSES_OBJECT_SAFETY; use rustc_span::symbol::Symbol; use rustc_span::Span; diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs index 55ba008e359..a29a9a6a997 100644 --- a/src/librustc_typeck/collect.rs +++ b/src/librustc_typeck/collect.rs @@ -1168,7 +1168,7 @@ fn generics_of(tcx: TyCtxt<'_>, def_id: DefId) -> ty::Generics { Node::AnonConst(_) => { if tcx.features().lazy_normalization_consts { let parent_id = tcx.hir().get_parent_item(hir_id); - Some(tcx.hir().local_def_id(parent_id)) + Some(tcx.hir().local_def_id(parent_id).to_def_id()) } else { None } |
