Skip to content

Commit 17793b6

Browse files
committed
always enable TypingMode::Borrowck
1 parent 5804988 commit 17793b6

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
@@ -647,12 +647,7 @@ pub(crate) struct BorrowckInferCtxt<'tcx> {
647647

648648
impl<'tcx> BorrowckInferCtxt<'tcx> {
649649
pub(crate) fn new(tcx: TyCtxt<'tcx>, def_id: LocalDefId) -> Self {
650-
let typing_mode = if tcx.use_typing_mode_borrowck() {
651-
TypingMode::borrowck(tcx, def_id)
652-
} else {
653-
TypingMode::analysis_in_body(tcx, def_id)
654-
};
655-
let infcx = tcx.infer_ctxt().build(typing_mode);
650+
let infcx = tcx.infer_ctxt().build(TypingMode::borrowck(tcx, def_id));
656651
let param_env = tcx.param_env(def_id);
657652
BorrowckInferCtxt { infcx, reg_var_to_origin: RefCell::new(Default::default()), param_env }
658653
}

compiler/rustc_borrowck/src/region_infer/opaque_types.rs

-17
Original file line numberDiff line numberDiff line change
@@ -212,30 +212,13 @@ pub(crate) fn handle_opaque_type_uses<'tcx>(
212212
)
213213
});
214214

215-
if !tcx.use_typing_mode_borrowck() {
216-
if let ty::Alias(ty::Opaque, alias_ty) = ty.kind()
217-
&& alias_ty.def_id == opaque_type_key.def_id.to_def_id()
218-
&& alias_ty.args == opaque_type_key.args
219-
{
220-
continue 'entry;
221-
}
222-
}
223215
root_cx.add_concrete_opaque_type(
224216
opaque_type_key.def_id,
225217
OpaqueHiddenType { span: hidden_type.span, ty },
226218
);
227219
}
228220

229221
for &(key, hidden_type) in &opaque_types {
230-
if !tcx.use_typing_mode_borrowck() {
231-
if let ty::Alias(ty::Opaque, alias_ty) = hidden_type.ty.kind()
232-
&& alias_ty.def_id == key.def_id.to_def_id()
233-
&& alias_ty.args == key.args
234-
{
235-
continue;
236-
}
237-
}
238-
239222
let Some(expected) = root_cx.get_concrete_opaque_type(key.def_id) else {
240223
let guar =
241224
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)