diff options
| author | Lukas Markeffsky <@> | 2024-03-10 20:24:00 +0100 |
|---|---|---|
| committer | Lukas Markeffsky <@> | 2024-03-10 20:24:00 +0100 |
| commit | e4bafa2b8cd02aad4077ed34be29dd8fddbbefed (patch) | |
| tree | 6d9fc8d6d9073bcff2dbf09d573e6df627600c81 /compiler/rustc_trait_selection/src | |
| parent | 9bd88ef61241d6417c4835c97bf4617cc0a71a80 (diff) | |
| download | rust-e4bafa2b8cd02aad4077ed34be29dd8fddbbefed.tar.gz rust-e4bafa2b8cd02aad4077ed34be29dd8fddbbefed.zip | |
fix metadata for dyn-star in new solver
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/solve/normalizes_to/mod.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_trait_selection/src/solve/normalizes_to/mod.rs b/compiler/rustc_trait_selection/src/solve/normalizes_to/mod.rs index ed839d14dc7..a45c1c34410 100644 --- a/compiler/rustc_trait_selection/src/solve/normalizes_to/mod.rs +++ b/compiler/rustc_trait_selection/src/solve/normalizes_to/mod.rs @@ -542,13 +542,14 @@ impl<'tcx> assembly::GoalKind<'tcx> for NormalizesTo<'tcx> { | ty::Coroutine(..) | ty::CoroutineWitness(..) | ty::Never - | ty::Foreign(..) => tcx.types.unit, + | ty::Foreign(..) + | ty::Dynamic(_, _, ty::DynStar) => tcx.types.unit, ty::Error(e) => Ty::new_error(tcx, *e), ty::Str | ty::Slice(_) => tcx.types.usize, - ty::Dynamic(_, _, _) => { + ty::Dynamic(_, _, ty::Dyn) => { let dyn_metadata = tcx.require_lang_item(LangItem::DynMetadata, None); tcx.type_of(dyn_metadata) .instantiate(tcx, &[ty::GenericArg::from(goal.predicate.self_ty())]) |
