about summary refs log tree commit diff
path: root/compiler/rustc_smir/src
diff options
context:
space:
mode:
authorCelina G. Val <celinval@amazon.com>2023-12-11 14:52:31 -0800
committerCelina G. Val <celinval@amazon.com>2023-12-11 15:29:34 -0800
commit0a65dd305f06fa32eaa494db74c40f5d8616a2e2 (patch)
tree8e7ebc339b9b3dbe13a7c1ef530480809abf9b2b /compiler/rustc_smir/src
parent8a3765582cb83733f8c344062729df0175409488 (diff)
downloadrust-0a65dd305f06fa32eaa494db74c40f5d8616a2e2.tar.gz
rust-0a65dd305f06fa32eaa494db74c40f5d8616a2e2.zip
Monomorphize args while building Instance body
Diffstat (limited to 'compiler/rustc_smir/src')
-rw-r--r--compiler/rustc_smir/src/rustc_smir/builder.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/builder.rs b/compiler/rustc_smir/src/rustc_smir/builder.rs
index 7e74a1d92c7..039bdec4c78 100644
--- a/compiler/rustc_smir/src/rustc_smir/builder.rs
+++ b/compiler/rustc_smir/src/rustc_smir/builder.rs
@@ -6,7 +6,7 @@
 use crate::rustc_smir::{Stable, Tables};
 use rustc_middle::mir;
 use rustc_middle::mir::visit::MutVisitor;
-use rustc_middle::ty::{self, Ty, TyCtxt};
+use rustc_middle::ty::{self, GenericArgsRef, Ty, TyCtxt};
 
 /// Builds a monomorphic body for a given instance.
 pub struct BodyBuilder<'tcx> {
@@ -68,6 +68,10 @@ impl<'tcx> MutVisitor<'tcx> for BodyBuilder<'tcx> {
         self.super_constant(constant, location);
     }
 
+    fn visit_args(&mut self, args: &mut GenericArgsRef<'tcx>, _: mir::Location) {
+        *args = self.monomorphize(*args);
+    }
+
     fn tcx(&self) -> TyCtxt<'tcx> {
         self.tcx
     }