@@ -39,8 +39,8 @@ use self::lexical_region_resolve::LexicalRegionResolutions;
39
39
use self :: outlives:: env:: OutlivesEnvironment ;
40
40
use self :: region_constraints:: { GenericKind , RegionConstraintData , VarInfos , VerifyBound } ;
41
41
use self :: region_constraints:: { RegionConstraintCollector , RegionSnapshot } ;
42
- use self :: type_variable:: TypeVariableOrigin ;
43
- use self :: unify_key:: { ToType , ConstVariableOrigin } ;
42
+ use self :: type_variable:: { TypeVariableOrigin , TypeVariableOriginKind } ;
43
+ use self :: unify_key:: { ToType , ConstVariableOrigin , ConstVariableOriginKind } ;
44
44
45
45
pub mod at;
46
46
pub mod canonical;
@@ -1110,13 +1110,19 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
1110
1110
let ty_var_id = self . type_variables . borrow_mut ( ) . new_var (
1111
1111
self . universe ( ) ,
1112
1112
false ,
1113
- TypeVariableOrigin :: TypeParameterDefinition ( span, param. name ) ,
1113
+ TypeVariableOrigin {
1114
+ kind : TypeVariableOriginKind :: TypeParameterDefinition ( param. name ) ,
1115
+ span,
1116
+ } ,
1114
1117
) ;
1115
1118
1116
1119
self . tcx . mk_ty_var ( ty_var_id) . into ( )
1117
1120
}
1118
1121
GenericParamDefKind :: Const { .. } => {
1119
- let origin = ConstVariableOrigin :: ConstParameterDefinition ( span, param. name ) ;
1122
+ let origin = ConstVariableOrigin {
1123
+ kind : ConstVariableOriginKind :: ConstParameterDefinition ( param. name ) ,
1124
+ span,
1125
+ } ;
1120
1126
let const_var_id =
1121
1127
self . const_unification_table
1122
1128
. borrow_mut ( )
@@ -1412,8 +1418,16 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
1412
1418
T : TypeFoldable < ' tcx >
1413
1419
{
1414
1420
let fld_r = |br| self . next_region_var ( LateBoundRegion ( span, br, lbrct) ) ;
1415
- let fld_t = |_| self . next_ty_var ( TypeVariableOrigin :: MiscVariable ( span) ) ;
1416
- let fld_c = |_, ty| self . next_const_var ( ty, ConstVariableOrigin :: MiscVariable ( span) ) ;
1421
+ let fld_t = |_| {
1422
+ self . next_ty_var ( TypeVariableOrigin {
1423
+ kind : TypeVariableOriginKind :: MiscVariable ,
1424
+ span,
1425
+ } )
1426
+ } ;
1427
+ let fld_c = |_, ty| self . next_const_var ( ty, ConstVariableOrigin {
1428
+ kind : ConstVariableOriginKind :: MiscVariable ,
1429
+ span,
1430
+ } ) ;
1417
1431
self . tcx . replace_bound_vars ( value, fld_r, fld_t, fld_c)
1418
1432
}
1419
1433
0 commit comments