diff options
| author | Eric Mark Martin <ericmarkmartin@gmail.com> | 2023-07-12 00:56:45 -0400 |
|---|---|---|
| committer | Eric Mark Martin <ericmarkmartin@gmail.com> | 2023-07-13 20:59:44 -0400 |
| commit | fd5553ffea8573c1ecdb9c5a29cdd98d0b38d135 (patch) | |
| tree | 5de1f002b62e221d34e45ec8cfcbf7eda14424c8 /compiler | |
| parent | 7bd81ee1902c049691d0a1f03be5558bee51d100 (diff) | |
| download | rust-fd5553ffea8573c1ecdb9c5a29cdd98d0b38d135.tar.gz rust-fd5553ffea8573c1ecdb9c5a29cdd98d0b38d135.zip | |
add str, slice, and array to smir types
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_smir/src/rustc_smir/mod.rs | 8 | ||||
| -rw-r--r-- | compiler/rustc_smir/src/stable_mir/ty.rs | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/compiler/rustc_smir/src/rustc_smir/mod.rs b/compiler/rustc_smir/src/rustc_smir/mod.rs index df682cd8f3a..6af6cfe58f1 100644 --- a/compiler/rustc_smir/src/rustc_smir/mod.rs +++ b/compiler/rustc_smir/src/rustc_smir/mod.rs @@ -114,9 +114,11 @@ impl<'tcx> Tables<'tcx> { ), )), ty::Foreign(_) => todo!(), - ty::Str => todo!(), - ty::Array(_, _) => todo!(), - ty::Slice(_) => todo!(), + ty::Str => TyKind::RigidTy(RigidTy::Str), + ty::Array(ty, constant) => { + TyKind::RigidTy(RigidTy::Array(self.intern_ty(*ty), opaque(constant))) + } + ty::Slice(ty) => TyKind::RigidTy(RigidTy::Slice(self.intern_ty(*ty))), ty::RawPtr(_) => todo!(), ty::Ref(_, _, _) => todo!(), ty::FnDef(_, _) => todo!(), diff --git a/compiler/rustc_smir/src/stable_mir/ty.rs b/compiler/rustc_smir/src/stable_mir/ty.rs index 389e3364117..e9f17f92c04 100644 --- a/compiler/rustc_smir/src/stable_mir/ty.rs +++ b/compiler/rustc_smir/src/stable_mir/ty.rs @@ -26,6 +26,9 @@ pub enum RigidTy { Uint(UintTy), Float(FloatTy), Adt(AdtDef, AdtSubsts), + Str, + Array(Ty, Const), + Slice(Ty), Tuple(Vec<Ty>), } |
