Skip to content

Commit 092d8ce

Browse files
committed
always enable TypingMode::Borrowck
1 parent d85f8b0 commit 092d8ce

File tree

4 files changed

+1
-31
lines changed

4 files changed

+1
-31
lines changed

compiler/rustc_borrowck/src/lib.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -674,12 +674,7 @@ pub(crate) struct BorrowckInferCtxt<'tcx> {
674674

675675
impl<'tcx> BorrowckInferCtxt<'tcx> {
676676
pub(crate) fn new(tcx: TyCtxt<'tcx>, def_id: LocalDefId) -> Self {
677-
let typing_mode = if tcx.use_typing_mode_borrowck() {
678-
TypingMode::borrowck(tcx, def_id)
679-
} else {
680-
TypingMode::analysis_in_body(tcx, def_id)
681-
};
682-
let infcx = tcx.infer_ctxt().build(typing_mode);
677+
let infcx = tcx.infer_ctxt().build(TypingMode::borrowck(tcx, def_id));
683678
let param_env = tcx.param_env(def_id);
684679
BorrowckInferCtxt { infcx, reg_var_to_origin: RefCell::new(Default::default()), param_env }
685680
}

compiler/rustc_borrowck/src/region_infer/opaque_types.rs

-17
Original file line numberDiff line numberDiff line change
@@ -198,30 +198,13 @@ pub(crate) fn handle_opaque_type_uses<'tcx>(
198198
)
199199
});
200200

201-
if !tcx.use_typing_mode_borrowck() {
202-
if let ty::Alias(ty::Opaque, alias_ty) = ty.kind()
203-
&& alias_ty.def_id == opaque_type_key.def_id.to_def_id()
204-
&& alias_ty.args == opaque_type_key.args
205-
{
206-
continue 'entry;
207-
}
208-
}
209201
root_cx.add_concrete_opaque_type(
210202
opaque_type_key.def_id,
211203
OpaqueHiddenType { span: hidden_type.span, ty },
212204
);
213205
}
214206

215207
for &(key, hidden_type) in &opaque_types {
216-
if !tcx.use_typing_mode_borrowck() {
217-
if let ty::Alias(ty::Opaque, alias_ty) = hidden_type.ty.kind()
218-
&& alias_ty.def_id == key.def_id.to_def_id()
219-
&& alias_ty.args == key.args
220-
{
221-
continue;
222-
}
223-
}
224-
225208
let Some(expected) = root_cx.get_concrete_opaque_type(key.def_id) else {
226209
let guar =
227210
tcx.dcx().span_err(hidden_type.span, "non-defining use in the defining scope");

compiler/rustc_middle/src/ty/context.rs

-5
Original file line numberDiff line numberDiff line change
@@ -3283,11 +3283,6 @@ impl<'tcx> TyCtxt<'tcx> {
32833283
self.sess.opts.unstable_opts.next_solver.coherence
32843284
}
32853285

3286-
#[allow(rustc::bad_opt_access)]
3287-
pub fn use_typing_mode_borrowck(self) -> bool {
3288-
self.next_trait_solver_globally() || self.sess.opts.unstable_opts.typing_mode_borrowck
3289-
}
3290-
32913286
pub fn is_impl_trait_in_trait(self, def_id: DefId) -> bool {
32923287
self.opt_rpitit_info(def_id).is_some()
32933288
}

compiler/rustc_session/src/options.rs

-3
Original file line numberDiff line numberDiff line change
@@ -2559,9 +2559,6 @@ written to standard error output)"),
25592559
"in diagnostics, use heuristics to shorten paths referring to items"),
25602560
tune_cpu: Option<String> = (None, parse_opt_string, [TRACKED],
25612561
"select processor to schedule for (`rustc --print target-cpus` for details)"),
2562-
#[rustc_lint_opt_deny_field_access("use `TyCtxt::use_typing_mode_borrowck` instead of this field")]
2563-
typing_mode_borrowck: bool = (false, parse_bool, [TRACKED],
2564-
"enable `TypingMode::Borrowck`, changing the way opaque types are handled during MIR borrowck"),
25652562
#[rustc_lint_opt_deny_field_access("use `Session::ub_checks` instead of this field")]
25662563
ub_checks: Option<bool> = (None, parse_opt_bool, [TRACKED],
25672564
"emit runtime checks for Undefined Behavior (default: -Cdebug-assertions)"),

0 commit comments

Comments
 (0)