Skip to content

Commit 11bb80a

Browse files
committed
Auto merge of #101901 - lcnr:early-binder-type-foldable, r=compiler-errors
`EarlyBinder` prevent misuse folding a type before substituting is pretty much always wrong and could happen by accident, e.g. see #99798 (comment) this PR removes the `TypeFoldable` and `TypeVisitable` impl from `EarlyBinder`. r? types cc `@jackh726`
2 parents 503e19d + 0c3e01d commit 11bb80a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+138
-182
lines changed

compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use rustc_middle::mir::{
1616
FakeReadCause, LocalDecl, LocalInfo, LocalKind, Location, Operand, Place, PlaceRef,
1717
ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, VarBindingForm,
1818
};
19-
use rustc_middle::ty::{self, subst::Subst, suggest_constraining_type_params, PredicateKind, Ty};
19+
use rustc_middle::ty::{self, suggest_constraining_type_params, PredicateKind, Ty};
2020
use rustc_mir_dataflow::move_paths::{InitKind, MoveOutIndex, MovePathIndex};
2121
use rustc_span::def_id::LocalDefId;
2222
use rustc_span::hygiene::DesugaringKind;

compiler/rustc_borrowck/src/universal_regions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ use rustc_hir::{BodyOwnerKind, HirId};
2222
use rustc_index::vec::{Idx, IndexVec};
2323
use rustc_infer::infer::{InferCtxt, NllRegionVariableOrigin};
2424
use rustc_middle::ty::fold::TypeFoldable;
25-
use rustc_middle::ty::subst::{InternalSubsts, Subst, SubstsRef};
2625
use rustc_middle::ty::{self, InlineConstSubsts, InlineConstSubstsParts, RegionVid, Ty, TyCtxt};
26+
use rustc_middle::ty::{InternalSubsts, SubstsRef};
2727
use std::iter;
2828

2929
use crate::nll::ToRegionVid;

compiler/rustc_const_eval/src/const_eval/eval_queries.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use rustc_middle::mir::pretty::display_allocation;
1313
use rustc_middle::traits::Reveal;
1414
use rustc_middle::ty::layout::LayoutOf;
1515
use rustc_middle::ty::print::with_no_trimmed_paths;
16-
use rustc_middle::ty::{self, subst::Subst, TyCtxt};
16+
use rustc_middle::ty::{self, TyCtxt};
1717
use rustc_span::source_map::Span;
1818
use rustc_target::abi::{self, Abi};
1919
use std::borrow::Cow;

compiler/rustc_const_eval/src/interpret/intrinsics/caller_location.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use rustc_ast::Mutability;
44
use rustc_hir::lang_items::LangItem;
55
use rustc_middle::mir::TerminatorKind;
66
use rustc_middle::ty::layout::LayoutOf;
7-
use rustc_middle::ty::subst::Subst;
87
use rustc_span::{Span, Symbol};
98

109
use crate::interpret::{

compiler/rustc_const_eval/src/transform/validate.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ use rustc_middle::mir::{
1313
TerminatorKind, UnOp, START_BLOCK,
1414
};
1515
use rustc_middle::ty::fold::BottomUpFolder;
16-
use rustc_middle::ty::subst::Subst;
1716
use rustc_middle::ty::{self, InstanceDef, ParamEnv, Ty, TyCtxt, TypeFoldable, TypeVisitable};
1817
use rustc_mir_dataflow::impls::MaybeStorageLive;
1918
use rustc_mir_dataflow::storage::always_storage_live_locals;

compiler/rustc_infer/src/infer/error_reporting/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ use rustc_middle::dep_graph::DepContext;
6969
use rustc_middle::ty::print::with_no_trimmed_paths;
7070
use rustc_middle::ty::relate::{self, RelateResult, TypeRelation};
7171
use rustc_middle::ty::{
72-
self, error::TypeError, Binder, List, Region, Subst, Ty, TyCtxt, TypeFoldable,
73-
TypeSuperVisitable, TypeVisitable,
72+
self, error::TypeError, Binder, List, Region, Ty, TyCtxt, TypeFoldable, TypeSuperVisitable,
73+
TypeVisitable,
7474
};
7575
use rustc_span::{sym, symbol::kw, BytePos, DesugaringKind, Pos, Span};
7676
use rustc_target::spec::abi;

compiler/rustc_infer/src/infer/error_reporting/need_type_info.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ use rustc_middle::hir::nested_filter;
1515
use rustc_middle::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind};
1616
use rustc_middle::ty::adjustment::{Adjust, Adjustment, AutoBorrow, AutoBorrowMutability};
1717
use rustc_middle::ty::print::{FmtPrinter, PrettyPrinter, Print, Printer};
18-
use rustc_middle::ty::subst::{GenericArg, GenericArgKind, Subst, SubstsRef};
1918
use rustc_middle::ty::{self, DefIdTree, InferConst};
19+
use rustc_middle::ty::{GenericArg, GenericArgKind, SubstsRef};
2020
use rustc_middle::ty::{IsSuggestable, Ty, TyCtxt, TypeckResults};
2121
use rustc_session::SessionDiagnostic;
2222
use rustc_span::symbol::{kw, Ident};

compiler/rustc_infer/src/infer/opaque_types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use rustc_data_structures::vec_map::VecMap;
88
use rustc_hir as hir;
99
use rustc_middle::traits::ObligationCause;
1010
use rustc_middle::ty::fold::BottomUpFolder;
11-
use rustc_middle::ty::subst::{GenericArgKind, Subst};
11+
use rustc_middle::ty::GenericArgKind;
1212
use rustc_middle::ty::{
1313
self, OpaqueHiddenType, OpaqueTypeKey, Ty, TyCtxt, TypeFoldable, TypeSuperVisitable,
1414
TypeVisitable, TypeVisitor,

compiler/rustc_infer/src/infer/outlives/verify.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::infer::{GenericKind, VerifyBound};
55
use rustc_data_structures::captures::Captures;
66
use rustc_data_structures::sso::SsoHashSet;
77
use rustc_hir::def_id::DefId;
8-
use rustc_middle::ty::subst::{GenericArg, Subst};
8+
use rustc_middle::ty::GenericArg;
99
use rustc_middle::ty::{self, EarlyBinder, OutlivesPredicate, Ty, TyCtxt};
1010

1111
use smallvec::smallvec;

compiler/rustc_middle/src/mir/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ use crate::mir::visit::MirVisitable;
99
use crate::ty::codec::{TyDecoder, TyEncoder};
1010
use crate::ty::fold::{FallibleTypeFolder, TypeFoldable, TypeSuperFoldable};
1111
use crate::ty::print::{FmtPrinter, Printer};
12-
use crate::ty::subst::{GenericArg, InternalSubsts, Subst, SubstsRef};
1312
use crate::ty::visit::{TypeSuperVisitable, TypeVisitable, TypeVisitor};
1413
use crate::ty::{self, List, Ty, TyCtxt};
1514
use crate::ty::{AdtDef, InstanceDef, ScalarInt, UserTypeAnnotationIndex};
15+
use crate::ty::{GenericArg, InternalSubsts, SubstsRef};
1616

1717
use rustc_data_structures::captures::Captures;
1818
use rustc_errors::ErrorGuaranteed;

0 commit comments

Comments
 (0)