Skip to content

Commit 490aa68

Browse files
committed
Remove a bunch of Span args and some other diagnostic-related things from next-solver code
1 parent c13d959 commit 490aa68

File tree

14 files changed

+101
-431
lines changed

14 files changed

+101
-431
lines changed

crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
99
use crate::next_solver::{
1010
AliasTy, Binder, BoundRegion, BoundTy, Canonical, CanonicalVarValues, Const, DbInterner, DbIr,
11-
Goal, ParamEnv, Predicate, PredicateKind, Region, Span, Ty, TyKind,
11+
Goal, ParamEnv, Predicate, PredicateKind, Region, Ty, TyKind,
1212
fold::FnMutDelegate,
1313
infer::{
14-
DefineOpaqueTypes, InferCtxt, SubregionOrigin, TypeTrace,
14+
DefineOpaqueTypes, InferCtxt, TypeTrace,
1515
traits::{Obligation, PredicateObligations},
1616
},
1717
};

crates/hir-ty/src/next_solver/infer/canonical/mod.rs

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
use crate::next_solver::{
2525
AliasTy, Binder, Canonical, CanonicalVarValues, CanonicalVars, Const, DbInterner, DbIr,
2626
GenericArg, Goal, ParamEnv, PlaceholderConst, PlaceholderRegion, PlaceholderTy, Predicate,
27-
PredicateKind, Region, Span, Ty, TyKind,
27+
PredicateKind, Region, Ty, TyKind,
2828
infer::{
29-
DefineOpaqueTypes, InferCtxt, SubregionOrigin, TypeTrace,
29+
DefineOpaqueTypes, InferCtxt, TypeTrace,
3030
traits::{Obligation, PredicateObligations},
3131
},
3232
};
@@ -42,8 +42,6 @@ use rustc_type_ir::{
4242
},
4343
};
4444

45-
use super::RegionVariableOrigin;
46-
4745
pub mod instantiate;
4846

4947
impl<'db> InferCtxt<'db> {
@@ -61,7 +59,6 @@ impl<'db> InferCtxt<'db> {
6159
/// for each of the canonical inputs to your query.
6260
pub fn instantiate_canonical<T>(
6361
&self,
64-
span: Span,
6562
canonical: &Canonical<'db, T>,
6663
) -> (T, CanonicalVarValues<'db>)
6764
where
@@ -81,7 +78,7 @@ impl<'db> InferCtxt<'db> {
8178
.collect();
8279

8380
let canonical_inference_vars =
84-
self.instantiate_canonical_vars(span, canonical.variables.clone(), |ui| universes[ui]);
81+
self.instantiate_canonical_vars(canonical.variables.clone(), |ui| universes[ui]);
8582
let result = canonical.instantiate(self.interner, &canonical_inference_vars);
8683
(result, canonical_inference_vars)
8784
}
@@ -93,15 +90,12 @@ impl<'db> InferCtxt<'db> {
9390
/// canonical variable with these inference variables.
9491
fn instantiate_canonical_vars(
9592
&self,
96-
span: Span,
9793
variables: CanonicalVars<'db>,
9894
universe_map: impl Fn(UniverseIndex) -> UniverseIndex,
9995
) -> CanonicalVarValues<'db> {
10096
CanonicalVarValues {
10197
var_values: self.interner.mk_args_from_iter(
102-
variables
103-
.iter()
104-
.map(|info| self.instantiate_canonical_var(span, info, &universe_map)),
98+
variables.iter().map(|info| self.instantiate_canonical_var(info, &universe_map)),
10599
),
106100
}
107101
}
@@ -116,15 +110,14 @@ impl<'db> InferCtxt<'db> {
116110
/// We should somehow deduplicate all of this.
117111
pub fn instantiate_canonical_var(
118112
&self,
119-
span: Span,
120113
cv_info: CanonicalVarKind<DbInterner<'db>>,
121114
universe_map: impl Fn(UniverseIndex) -> UniverseIndex,
122115
) -> GenericArg<'db> {
123116
match cv_info {
124117
CanonicalVarKind::Ty(ty_kind) => {
125118
let ty = match ty_kind {
126119
CanonicalTyVarKind::General(ui) => {
127-
self.next_ty_var_in_universe(span, universe_map(ui))
120+
self.next_ty_var_in_universe(universe_map(ui))
128121
}
129122

130123
CanonicalTyVarKind::Int => self.next_int_var(),
@@ -140,12 +133,9 @@ impl<'db> InferCtxt<'db> {
140133
Ty::new_placeholder(self.interner, placeholder_mapped).into()
141134
}
142135

143-
CanonicalVarKind::Region(ui) => self
144-
.next_region_var_in_universe(
145-
RegionVariableOrigin::MiscVariable(span),
146-
universe_map(ui),
147-
)
148-
.into(),
136+
CanonicalVarKind::Region(ui) => {
137+
self.next_region_var_in_universe(universe_map(ui)).into()
138+
}
149139

150140
CanonicalVarKind::PlaceholderRegion(PlaceholderRegion { universe, bound }) => {
151141
let universe_mapped = universe_map(universe);
@@ -155,9 +145,7 @@ impl<'db> InferCtxt<'db> {
155145
Region::new_placeholder(self.interner, placeholder_mapped).into()
156146
}
157147

158-
CanonicalVarKind::Const(ui) => {
159-
self.next_const_var_in_universe(span, universe_map(ui)).into()
160-
}
148+
CanonicalVarKind::Const(ui) => self.next_const_var_in_universe(universe_map(ui)).into(),
161149
CanonicalVarKind::PlaceholderConst(PlaceholderConst { universe, bound }) => {
162150
let universe_mapped = universe_map(universe);
163151
let placeholder_mapped = PlaceholderConst { universe: universe_mapped, bound };

crates/hir-ty/src/next_solver/infer/context.rs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ use crate::next_solver::{
1212
};
1313

1414
///! Definition of `InferCtxtLike` from the librarified type layer.
15-
use super::{
16-
BoundRegionConversionTime, InferCtxt, SubregionOrigin, relate::RelateResult,
17-
traits::ObligationCause,
18-
};
15+
use super::{BoundRegionConversionTime, InferCtxt, relate::RelateResult, traits::ObligationCause};
1916

2017
impl<'db> rustc_type_ir::InferCtxtLike for InferCtxt<'db> {
2118
type Interner = DbInterner<'db>;
@@ -150,30 +147,26 @@ impl<'db> rustc_type_ir::InferCtxtLike for InferCtxt<'db> {
150147
}
151148

152149
fn next_ty_infer(&self) -> Ty<'db> {
153-
self.next_ty_var(Span::dummy())
150+
self.next_ty_var()
154151
}
155152

156153
fn next_region_infer(&self) -> <Self::Interner as rustc_type_ir::Interner>::Region {
157-
self.next_region_var(super::RegionVariableOrigin::MiscVariable(Span::dummy()))
154+
self.next_region_var()
158155
}
159156

160157
fn next_const_infer(&self) -> Const<'db> {
161-
self.next_const_var(Span::dummy())
158+
self.next_const_var()
162159
}
163160

164161
fn fresh_args_for_item(&self, def_id: SolverDefId) -> GenericArgs<'db> {
165-
self.fresh_args_for_item(Span::dummy(), def_id)
162+
self.fresh_args_for_item(def_id)
166163
}
167164

168165
fn instantiate_binder_with_infer<T: TypeFoldable<DbInterner<'db>> + Clone>(
169166
&self,
170167
value: Binder<'db, T>,
171168
) -> T {
172-
self.instantiate_binder_with_fresh_vars(
173-
Span::dummy(),
174-
BoundRegionConversionTime::HigherRankedType,
175-
value,
176-
)
169+
self.instantiate_binder_with_fresh_vars(BoundRegionConversionTime::HigherRankedType, value)
177170
}
178171

179172
fn enter_forall<T: TypeFoldable<DbInterner<'db>> + Clone, U>(
@@ -266,19 +259,11 @@ impl<'db> rustc_type_ir::InferCtxtLike for InferCtxt<'db> {
266259
}
267260

268261
fn sub_regions(&self, sub: Region<'db>, sup: Region<'db>, span: Span) {
269-
self.inner.borrow_mut().unwrap_region_constraints().make_subregion(
270-
SubregionOrigin::RelateRegionParamBound(span, None),
271-
sub,
272-
sup,
273-
);
262+
self.inner.borrow_mut().unwrap_region_constraints().make_subregion(sub, sup);
274263
}
275264

276265
fn equate_regions(&self, a: Region<'db>, b: Region<'db>, span: Span) {
277-
self.inner.borrow_mut().unwrap_region_constraints().make_eqregion(
278-
SubregionOrigin::RelateRegionParamBound(span, None),
279-
a,
280-
b,
281-
);
266+
self.inner.borrow_mut().unwrap_region_constraints().make_eqregion(a, b);
282267
}
283268

284269
fn register_ty_outlives(&self, ty: Ty<'db>, r: Region<'db>, span: Span) {

0 commit comments

Comments
 (0)