diff options
| author | Santiago Pastorino <spastorino@gmail.com> | 2023-07-05 19:01:11 -0300 |
|---|---|---|
| committer | Santiago Pastorino <spastorino@gmail.com> | 2023-07-07 13:46:40 -0300 |
| commit | 73e816e37ce028274d603ab33d8717d35dc9e914 (patch) | |
| tree | e63fa0d5f9f42837b3775c251f259b107fa253f1 | |
| parent | 61adcaf87b605f1b2d73f62cda813329cb448807 (diff) | |
| download | rust-73e816e37ce028274d603ab33d8717d35dc9e914.tar.gz rust-73e816e37ce028274d603ab33d8717d35dc9e914.zip | |
Add Char ty to SMIR
| -rw-r--r-- | compiler/rustc_smir/src/rustc_smir/mod.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_smir/src/stable_mir/ty.rs | 1 | ||||
| -rw-r--r-- | tests/ui-fulldeps/stable-mir/crate-info.rs | 8 |
3 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 76cb8386618..3a66eefdb79 100644 --- a/compiler/rustc_smir/src/rustc_smir/mod.rs +++ b/compiler/rustc_smir/src/rustc_smir/mod.rs @@ -71,7 +71,7 @@ impl<'tcx> Tables<'tcx> { fn rustc_ty_to_ty(&mut self, ty: Ty<'tcx>) -> TyKind { match ty.kind() { ty::Bool => TyKind::RigidTy(RigidTy::Bool), - ty::Char => todo!(), + ty::Char => TyKind::RigidTy(RigidTy::Char), ty::Int(_) => todo!(), ty::Uint(_) => todo!(), ty::Float(_) => todo!(), diff --git a/compiler/rustc_smir/src/stable_mir/ty.rs b/compiler/rustc_smir/src/stable_mir/ty.rs index 86c30370ff5..936fb0d3e4f 100644 --- a/compiler/rustc_smir/src/stable_mir/ty.rs +++ b/compiler/rustc_smir/src/stable_mir/ty.rs @@ -17,5 +17,6 @@ pub enum TyKind { #[derive(Clone, Debug)] pub enum RigidTy { Bool, + Char, Tuple(Vec<Ty>), } diff --git a/tests/ui-fulldeps/stable-mir/crate-info.rs b/tests/ui-fulldeps/stable-mir/crate-info.rs index 7cbb7898f2c..e3b4f6e7df9 100644 --- a/tests/ui-fulldeps/stable-mir/crate-info.rs +++ b/tests/ui-fulldeps/stable-mir/crate-info.rs @@ -67,7 +67,7 @@ fn test_stable_mir(tcx: TyCtxt<'_>) { let types = get_item(tcx, &items, (DefKind::Fn, "types")).unwrap(); let body = types.body(); - assert_eq!(body.locals.len(), 2); + assert_eq!(body.locals.len(), 3); assert_matches!( body.locals[0].kind(), stable_mir::ty::TyKind::RigidTy(stable_mir::ty::RigidTy::Bool) @@ -76,6 +76,10 @@ fn test_stable_mir(tcx: TyCtxt<'_>) { body.locals[1].kind(), stable_mir::ty::TyKind::RigidTy(stable_mir::ty::RigidTy::Bool) ); + assert_matches!( + body.locals[2].kind(), + stable_mir::ty::TyKind::RigidTy(stable_mir::ty::RigidTy::Char) + ); let drop = get_item(tcx, &items, (DefKind::Fn, "drop")).unwrap(); let body = drop.body(); @@ -167,7 +171,7 @@ fn generate_input(path: &str) -> std::io::Result<()> { x_64.wrapping_add(y_64) }} - pub fn types(b: bool) -> bool {{ + pub fn types(b: bool, _: char) -> bool {{ b }} |
