Skip to content

Commit f15eadc

Browse files
authored
Rollup merge of rust-lang#72150 - jackh726:unnorm_projection, r=nikomatsakis
Remove UnnormalizedProjection This was only used for the old chalk integration with chalk-engine r? @nikomatsakis
2 parents 57003cb + 41f6b95 commit f15eadc

File tree

39 files changed

+24
-100
lines changed

39 files changed

+24
-100
lines changed

Diff for: src/librustc_codegen_ssa/debuginfo/type_names.rs

-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ pub fn push_debuginfo_type_name<'tcx>(
198198
ty::Error
199199
| ty::Infer(_)
200200
| ty::Placeholder(..)
201-
| ty::UnnormalizedProjection(..)
202201
| ty::Projection(..)
203202
| ty::Bound(..)
204203
| ty::Opaque(..)

Diff for: src/librustc_infer/infer/canonical/canonicalizer.rs

-1
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,6 @@ impl<'cx, 'tcx> TypeFolder<'tcx> for Canonicalizer<'cx, 'tcx> {
415415
| ty::Never
416416
| ty::Tuple(..)
417417
| ty::Projection(..)
418-
| ty::UnnormalizedProjection(..)
419418
| ty::Foreign(..)
420419
| ty::Param(..)
421420
| ty::Opaque(..) => {

Diff for: src/librustc_infer/infer/error_reporting/need_type_info.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
554554
let output = bound_output.skip_binder();
555555
err.span_label(e.span, &format!("this method call resolves to `{:?}`", output));
556556
let kind = &output.kind;
557-
if let ty::Projection(proj) | ty::UnnormalizedProjection(proj) = kind {
557+
if let ty::Projection(proj) = kind {
558558
if let Some(span) = self.tcx.hir().span_if_local(proj.item_def_id) {
559559
err.span_label(span, &format!("`{:?}` defined here", output));
560560
}

Diff for: src/librustc_infer/infer/freshen.rs

-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ impl<'a, 'tcx> TypeFolder<'tcx> for TypeFreshener<'a, 'tcx> {
204204
| ty::Never
205205
| ty::Tuple(..)
206206
| ty::Projection(..)
207-
| ty::UnnormalizedProjection(..)
208207
| ty::Foreign(..)
209208
| ty::Param(..)
210209
| ty::Closure(..)

Diff for: src/librustc_lint/types.rs

-1
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,6 @@ impl<'a, 'tcx> ImproperCTypesVisitor<'a, 'tcx> {
888888
| ty::Generator(..)
889889
| ty::GeneratorWitness(..)
890890
| ty::Placeholder(..)
891-
| ty::UnnormalizedProjection(..)
892891
| ty::Projection(..)
893892
| ty::Opaque(..)
894893
| ty::FnDef(..) => bug!("unexpected type in foreign function: {:?}", ty),

Diff for: src/librustc_middle/traits/query.rs

-2
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,6 @@ pub fn trivial_dropck_outlives<'tcx>(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>) -> bool {
255255
| ty::Infer(_)
256256
| ty::Bound(..)
257257
| ty::Generator(..) => false,
258-
259-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
260258
}
261259
}
262260

Diff for: src/librustc_middle/ty/context.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1878,7 +1878,6 @@ impl<'tcx> TyCtxt<'tcx> {
18781878
Bound,
18791879
Param,
18801880
Infer,
1881-
UnnormalizedProjection,
18821881
Projection,
18831882
Opaque,
18841883
Foreign

Diff for: src/librustc_middle/ty/error.rs

-2
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,6 @@ impl<'tcx> ty::TyS<'tcx> {
284284
ty::Infer(ty::FreshIntTy(_)) => "fresh integral type".into(),
285285
ty::Infer(ty::FreshFloatTy(_)) => "fresh floating-point type".into(),
286286
ty::Projection(_) => "associated type".into(),
287-
ty::UnnormalizedProjection(_) => "non-normalized associated type".into(),
288287
ty::Param(p) => format!("type parameter `{}`", p).into(),
289288
ty::Opaque(..) => "opaque type".into(),
290289
ty::Error => "type error".into(),
@@ -323,7 +322,6 @@ impl<'tcx> ty::TyS<'tcx> {
323322
ty::Placeholder(..) => "higher-ranked type".into(),
324323
ty::Bound(..) => "bound type variable".into(),
325324
ty::Projection(_) => "associated type".into(),
326-
ty::UnnormalizedProjection(_) => "associated type".into(),
327325
ty::Param(_) => "type parameter".into(),
328326
ty::Opaque(..) => "opaque type".into(),
329327
}

Diff for: src/librustc_middle/ty/fast_reject.rs

-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ pub fn simplify_type(
9090
ty::Never => Some(NeverSimplifiedType),
9191
ty::Tuple(ref tys) => Some(TupleSimplifiedType(tys.len())),
9292
ty::FnPtr(ref f) => Some(FunctionSimplifiedType(f.skip_binder().inputs().len())),
93-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
9493
ty::Projection(_) | ty::Param(_) => {
9594
if can_simplify_params {
9695
// In normalized types, projections don't unify with

Diff for: src/librustc_middle/ty/flags.rs

-5
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,6 @@ impl FlagComputation {
121121
self.add_projection_ty(data);
122122
}
123123

124-
&ty::UnnormalizedProjection(ref data) => {
125-
self.add_flags(TypeFlags::HAS_TY_PROJECTION);
126-
self.add_projection_ty(data);
127-
}
128-
129124
&ty::Opaque(_, substs) => {
130125
self.add_flags(TypeFlags::HAS_TY_OPAQUE);
131126
self.add_substs(substs);

Diff for: src/librustc_middle/ty/layout.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -1241,11 +1241,9 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
12411241
tcx.layout_raw(param_env.and(normalized))?
12421242
}
12431243

1244-
ty::Bound(..)
1245-
| ty::Placeholder(..)
1246-
| ty::UnnormalizedProjection(..)
1247-
| ty::GeneratorWitness(..)
1248-
| ty::Infer(_) => bug!("Layout::compute: unexpected type `{}`", ty),
1244+
ty::Bound(..) | ty::Placeholder(..) | ty::GeneratorWitness(..) | ty::Infer(_) => {
1245+
bug!("Layout::compute: unexpected type `{}`", ty)
1246+
}
12491247

12501248
ty::Param(_) | ty::Error => {
12511249
return Err(LayoutError::Unknown(ty));
@@ -2138,7 +2136,6 @@ where
21382136
}
21392137

21402138
ty::Projection(_)
2141-
| ty::UnnormalizedProjection(..)
21422139
| ty::Bound(..)
21432140
| ty::Placeholder(..)
21442141
| ty::Opaque(..)

Diff for: src/librustc_middle/ty/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ bitflags! {
555555
| TypeFlags::HAS_CT_PLACEHOLDER.bits
556556
| TypeFlags::HAS_FREE_LOCAL_REGIONS.bits;
557557

558-
/// Does this have [Projection] or [UnnormalizedProjection]?
558+
/// Does this have [Projection]?
559559
const HAS_TY_PROJECTION = 1 << 10;
560560
/// Does this have [Opaque]?
561561
const HAS_TY_OPAQUE = 1 << 11;

Diff for: src/librustc_middle/ty/outlives.rs

-2
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,6 @@ fn compute_components(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>, out: &mut SmallVec<[Compo
135135
}
136136
}
137137

138-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
139-
140138
// We assume that inference variables are fully resolved.
141139
// So, if we encounter an inference variable, just record
142140
// the unresolved variable as a component.

Diff for: src/librustc_middle/ty/print/mod.rs

-1
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,6 @@ pub fn characteristic_def_id_of_type(ty: Ty<'_>) -> Option<DefId> {
294294
| ty::FnPtr(_)
295295
| ty::Projection(_)
296296
| ty::Placeholder(..)
297-
| ty::UnnormalizedProjection(..)
298297
| ty::Param(_)
299298
| ty::Opaque(..)
300299
| ty::Infer(_)

Diff for: src/librustc_middle/ty/print/obsolete.rs

-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ impl DefPathBasedNames<'tcx> {
148148
| ty::Bound(..)
149149
| ty::Infer(_)
150150
| ty::Placeholder(..)
151-
| ty::UnnormalizedProjection(..)
152151
| ty::Projection(..)
153152
| ty::Param(_)
154153
| ty::GeneratorWitness(_)

Diff for: src/librustc_middle/ty/print/pretty.rs

-3
Original file line numberDiff line numberDiff line change
@@ -540,9 +540,6 @@ pub trait PrettyPrinter<'tcx>:
540540
p!(print_def_path(def_id, &[]));
541541
}
542542
ty::Projection(ref data) => p!(print(data)),
543-
ty::UnnormalizedProjection(ref data) => {
544-
p!(write("Unnormalized("), print(data), write(")"))
545-
}
546543
ty::Placeholder(placeholder) => p!(write("Placeholder({:?})", placeholder)),
547544
ty::Opaque(def_id, substs) => {
548545
// FIXME(eddyb) print this with `print_def_path`.

Diff for: src/librustc_middle/ty/relate.rs

-5
Original file line numberDiff line numberDiff line change
@@ -477,11 +477,6 @@ pub fn super_relate_tys<R: TypeRelation<'tcx>>(
477477
Ok(tcx.mk_fn_ptr(fty))
478478
}
479479

480-
(ty::UnnormalizedProjection(a_data), ty::UnnormalizedProjection(b_data)) => {
481-
let projection_ty = relation.relate(a_data, b_data)?;
482-
Ok(tcx.mk_ty(ty::UnnormalizedProjection(projection_ty)))
483-
}
484-
485480
// these two are already handled downstream in case of lazy normalization
486481
(ty::Projection(a_data), ty::Projection(b_data)) => {
487482
let projection_ty = relation.relate(a_data, b_data)?;

Diff for: src/librustc_middle/ty/structural_impls.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -888,9 +888,6 @@ impl<'tcx> TypeFoldable<'tcx> for Ty<'tcx> {
888888
ty::GeneratorWitness(types) => ty::GeneratorWitness(types.fold_with(folder)),
889889
ty::Closure(did, substs) => ty::Closure(did, substs.fold_with(folder)),
890890
ty::Projection(ref data) => ty::Projection(data.fold_with(folder)),
891-
ty::UnnormalizedProjection(ref data) => {
892-
ty::UnnormalizedProjection(data.fold_with(folder))
893-
}
894891
ty::Opaque(did, substs) => ty::Opaque(did, substs.fold_with(folder)),
895892

896893
ty::Bool
@@ -931,9 +928,7 @@ impl<'tcx> TypeFoldable<'tcx> for Ty<'tcx> {
931928
ty::Generator(_did, ref substs, _) => substs.visit_with(visitor),
932929
ty::GeneratorWitness(ref types) => types.visit_with(visitor),
933930
ty::Closure(_did, ref substs) => substs.visit_with(visitor),
934-
ty::Projection(ref data) | ty::UnnormalizedProjection(ref data) => {
935-
data.visit_with(visitor)
936-
}
931+
ty::Projection(ref data) => data.visit_with(visitor),
937932
ty::Opaque(_, ref substs) => substs.visit_with(visitor),
938933

939934
ty::Bool

Diff for: src/librustc_middle/ty/sty.rs

-7
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,6 @@ pub enum TyKind<'tcx> {
181181
/// `<T as Trait<..>>::N`.
182182
Projection(ProjectionTy<'tcx>),
183183

184-
/// A placeholder type used when we do not have enough information
185-
/// to normalize the projection of an associated type to an
186-
/// existing concrete type. Currently only used with chalk-engine.
187-
UnnormalizedProjection(ProjectionTy<'tcx>),
188-
189184
/// Opaque (`impl Trait`) type found in a return type.
190185
/// The `DefId` comes either from
191186
/// * the `impl Trait` ast::Ty node,
@@ -2186,8 +2181,6 @@ impl<'tcx> TyS<'tcx> {
21862181

21872182
ty::Projection(_) | ty::Param(_) | ty::Opaque(..) => false,
21882183

2189-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
2190-
21912184
ty::Infer(ty::TyVar(_)) => false,
21922185

21932186
ty::Bound(..)

Diff for: src/librustc_middle/ty/util.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -745,8 +745,7 @@ impl<'tcx> ty::TyS<'tcx> {
745745
| ty::Opaque(..)
746746
| ty::Param(_)
747747
| ty::Placeholder(_)
748-
| ty::Projection(_)
749-
| ty::UnnormalizedProjection(_) => false,
748+
| ty::Projection(_) => false,
750749
}
751750
}
752751

@@ -1077,7 +1076,6 @@ pub fn needs_drop_components(
10771076
// These require checking for `Copy` bounds or `Adt` destructors.
10781077
ty::Adt(..)
10791078
| ty::Projection(..)
1080-
| ty::UnnormalizedProjection(..)
10811079
| ty::Param(_)
10821080
| ty::Bound(..)
10831081
| ty::Placeholder(..)

Diff for: src/librustc_middle/ty/walk.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ fn push_inner<'tcx>(stack: &mut TypeWalkerStack<'tcx>, parent: GenericArg<'tcx>)
127127
stack.push(ty.into());
128128
stack.push(lt.into());
129129
}
130-
ty::Projection(data) | ty::UnnormalizedProjection(data) => {
130+
ty::Projection(data) => {
131131
stack.extend(data.substs.iter().copied().rev());
132132
}
133133
ty::Dynamic(obj, lt) => {

Diff for: src/librustc_mir/interpret/intrinsics/type_name.rs

-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ impl<'tcx> Printer<'tcx> for AbsolutePathPrinter<'tcx> {
6060
| ty::FnDef(def_id, substs)
6161
| ty::Opaque(def_id, substs)
6262
| ty::Projection(ty::ProjectionTy { item_def_id: def_id, substs })
63-
| ty::UnnormalizedProjection(ty::ProjectionTy { item_def_id: def_id, substs })
6463
| ty::Closure(def_id, substs)
6564
| ty::Generator(def_id, substs, _) => self.print_def_path(def_id, substs),
6665
ty::Foreign(def_id) => self.print_def_path(def_id, &[]),

Diff for: src/librustc_mir/interpret/validity.rs

-1
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,6 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
566566
| ty::Bound(..)
567567
| ty::Param(..)
568568
| ty::Opaque(..)
569-
| ty::UnnormalizedProjection(..)
570569
| ty::Projection(..)
571570
| ty::GeneratorWitness(..) => bug!("Encountered invalid type {:?}", ty),
572571
}

Diff for: src/librustc_privacy/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ where
160160
}
161161
}
162162
}
163-
ty::Projection(proj) | ty::UnnormalizedProjection(proj) => {
163+
ty::Projection(proj) => {
164164
if self.def_id_visitor.skip_assoc_tys() {
165165
// Visitors searching for minimal visibility/reachability want to
166166
// conservatively approximate associated types like `<Type as Trait>::Alias`

Diff for: src/librustc_symbol_mangling/legacy.rs

-2
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,6 @@ impl Printer<'tcx> for SymbolPrinter<'tcx> {
216216
ty::FnDef(def_id, substs)
217217
| ty::Opaque(def_id, substs)
218218
| ty::Projection(ty::ProjectionTy { item_def_id: def_id, substs })
219-
| ty::UnnormalizedProjection(ty::ProjectionTy { item_def_id: def_id, substs })
220219
| ty::Closure(def_id, substs)
221220
| ty::Generator(def_id, substs, _) => self.print_def_path(def_id, substs),
222221
_ => self.pretty_print_type(ty),
@@ -264,7 +263,6 @@ impl Printer<'tcx> for SymbolPrinter<'tcx> {
264263
ty::FnDef(..)
265264
| ty::Opaque(..)
266265
| ty::Projection(_)
267-
| ty::UnnormalizedProjection(_)
268266
| ty::Closure(..)
269267
| ty::Generator(..)
270268
if trait_ref.is_none() =>

Diff for: src/librustc_symbol_mangling/v0.rs

-1
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,6 @@ impl Printer<'tcx> for SymbolMangler<'tcx> {
413413
| ty::FnDef(def_id, substs)
414414
| ty::Opaque(def_id, substs)
415415
| ty::Projection(ty::ProjectionTy { item_def_id: def_id, substs })
416-
| ty::UnnormalizedProjection(ty::ProjectionTy { item_def_id: def_id, substs })
417416
| ty::Closure(def_id, substs)
418417
| ty::Generator(def_id, substs, _) => {
419418
self = self.print_def_path(def_id, substs)?;

Diff for: src/librustc_trait_selection/traits/coherence.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -567,9 +567,8 @@ fn ty_is_non_local_constructor(ty: Ty<'_>, in_crate: InCrate) -> Option<Ty<'_>>
567567

568568
ty::Error => None,
569569

570-
ty::UnnormalizedProjection(..)
571-
| ty::Closure(..)
572-
| ty::Generator(..)
573-
| ty::GeneratorWitness(..) => bug!("ty_is_local invoked on unexpected type: {:?}", ty),
570+
ty::Closure(..) | ty::Generator(..) | ty::GeneratorWitness(..) => {
571+
bug!("ty_is_local invoked on unexpected type: {:?}", ty)
572+
}
574573
}
575574
}

Diff for: src/librustc_trait_selection/traits/error_reporting/mod.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1194,7 +1194,6 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
11941194
ty::Foreign(..) => Some(19),
11951195
ty::GeneratorWitness(..) => Some(20),
11961196
ty::Placeholder(..) | ty::Bound(..) | ty::Infer(..) | ty::Error => None,
1197-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
11981197
}
11991198
}
12001199

Diff for: src/librustc_trait_selection/traits/query/dropck_outlives.rs

-2
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,5 @@ pub fn trivial_dropck_outlives<'tcx>(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>) -> bool {
135135
| ty::Infer(_)
136136
| ty::Bound(..)
137137
| ty::Generator(..) => false,
138-
139-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
140138
}
141139
}

Diff for: src/librustc_trait_selection/traits/select.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -2178,8 +2178,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
21782178
ty::Projection(_) | ty::Param(_) | ty::Opaque(..) => None,
21792179
ty::Infer(ty::TyVar(_)) => Ambiguous,
21802180

2181-
ty::UnnormalizedProjection(..)
2182-
| ty::Placeholder(..)
2181+
ty::Placeholder(..)
21832182
| ty::Bound(..)
21842183
| ty::Infer(ty::FreshTy(_) | ty::FreshIntTy(_) | ty::FreshFloatTy(_)) => {
21852184
bug!("asked to assemble builtin bounds of unexpected type: {:?}", self_ty);
@@ -2250,8 +2249,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
22502249
Ambiguous
22512250
}
22522251

2253-
ty::UnnormalizedProjection(..)
2254-
| ty::Placeholder(..)
2252+
ty::Placeholder(..)
22552253
| ty::Bound(..)
22562254
| ty::Infer(ty::FreshTy(_) | ty::FreshIntTy(_) | ty::FreshFloatTy(_)) => {
22572255
bug!("asked to assemble builtin bounds of unexpected type: {:?}", self_ty);
@@ -2284,8 +2282,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
22842282
| ty::Never
22852283
| ty::Char => Vec::new(),
22862284

2287-
ty::UnnormalizedProjection(..)
2288-
| ty::Placeholder(..)
2285+
ty::Placeholder(..)
22892286
| ty::Dynamic(..)
22902287
| ty::Param(..)
22912288
| ty::Foreign(..)

Diff for: src/librustc_trait_selection/traits/wf.rs

-2
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,6 @@ impl<'a, 'tcx> WfPredicates<'a, 'tcx> {
389389
self.compute_projection(data);
390390
}
391391

392-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
393-
394392
ty::Adt(def, substs) => {
395393
// WfNominalType
396394
let obligations = self.nominal_obligations(def.did, substs);

Diff for: src/librustc_traits/chalk/lowering.rs

-1
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,6 @@ impl<'tcx> LowerInto<'tcx, chalk_ir::Ty<RustInterner<'tcx>>> for Ty<'tcx> {
353353
apply(chalk_ir::TypeName::Tuple(substs.len()), substs.lower_into(interner))
354354
}
355355
Projection(proj) => TyData::Alias(proj.lower_into(interner)).intern(interner),
356-
UnnormalizedProjection(_proj) => unimplemented!(),
357356
Opaque(_def_id, _substs) => unimplemented!(),
358357
// This should have been done eagerly prior to this, and all Params
359358
// should have been substituted to placeholders

Diff for: src/librustc_traits/dropck_outlives.rs

-2
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,6 @@ fn dtorck_constraint_for_ty<'tcx>(
271271
constraints.dtorck_types.push(ty);
272272
}
273273

274-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
275-
276274
ty::Placeholder(..) | ty::Bound(..) | ty::Infer(..) | ty::Error => {
277275
// By the time this code runs, all type variables ought to
278276
// be fully resolved.

Diff for: src/librustc_ty/ty.rs

-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ fn sized_constraint_for_ty<'tcx>(
4747
vec![ty]
4848
}
4949

50-
UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
51-
5250
Param(..) => {
5351
// perf hack: if there is a `T: Sized` bound, then
5452
// we know that `T` is Sized and do not need to check

Diff for: src/librustc_typeck/check/cast.rs

-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
115115
ty::Foreign(..) => Some(PointerKind::Thin),
116116
// We should really try to normalize here.
117117
ty::Projection(ref pi) => Some(PointerKind::OfProjection(pi)),
118-
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
119118
ty::Opaque(def_id, substs) => Some(PointerKind::OfOpaque(def_id, substs)),
120119
ty::Param(ref p) => Some(PointerKind::OfParam(p)),
121120
// Insufficient type information.

0 commit comments

Comments
 (0)