Skip to content

Commit 1204d0c

Browse files
committed
refactor: move IndexedVal from stable_mir to rustc_smir
1 parent 870826c commit 1204d0c

File tree

6 files changed

+18
-18
lines changed

6 files changed

+18
-18
lines changed

compiler/rustc_smir/src/stable_mir/abi.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use serde::Serialize;
66
use stable_mir::compiler_interface::with;
77
use stable_mir::mir::FieldIdx;
88
use stable_mir::target::{MachineInfo, MachineSize as Size};
9-
use stable_mir::ty::{Align, IndexedVal, Ty, VariantIdx};
9+
use stable_mir::ty::{Align, Ty, VariantIdx};
1010
use stable_mir::{Error, Opaque, error};
1111

1212
use crate::stable_mir;
@@ -119,7 +119,7 @@ impl Layout {
119119
}
120120
}
121121

122-
impl IndexedVal for Layout {
122+
impl crate::rustc_smir::IndexedVal for Layout {
123123
fn to_val(index: usize) -> Self {
124124
Layout(index)
125125
}

compiler/rustc_smir/src/stable_mir/mir/alloc.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
33
use std::io::Read;
44

5+
use rustc_smir::IndexedVal;
56
use serde::Serialize;
67
use stable_mir::mir::mono::{Instance, StaticDef};
78
use stable_mir::target::{Endian, MachineInfo};
8-
use stable_mir::ty::{Allocation, Binder, ExistentialTraitRef, IndexedVal, Ty};
9+
use stable_mir::ty::{Allocation, Binder, ExistentialTraitRef, Ty};
910
use stable_mir::{Error, with};
1011

11-
use crate::stable_mir;
12+
use crate::{rustc_smir, stable_mir};
1213

1314
/// An allocation in the SMIR global memory can be either a function pointer,
1415
/// a static, or a "real" allocation with some data in it.

compiler/rustc_smir/src/stable_mir/mir/mono.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
use std::fmt::{Debug, Formatter};
22
use std::io;
33

4+
use rustc_smir::{IndexedVal, SmirError};
45
use serde::Serialize;
56
use stable_mir::abi::FnAbi;
67
use stable_mir::crate_def::CrateDef;
78
use stable_mir::mir::Body;
8-
use stable_mir::ty::{Allocation, ClosureDef, ClosureKind, FnDef, GenericArgs, IndexedVal, Ty};
9+
use stable_mir::ty::{Allocation, ClosureDef, ClosureKind, FnDef, GenericArgs, Ty};
910
use stable_mir::{CrateItem, DefId, Error, ItemKind, Opaque, Symbol, with};
1011

11-
use crate::stable_mir;
12+
use crate::{rustc_smir, stable_mir};
1213

1314
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize)]
1415
pub enum MonoItem {

compiler/rustc_smir/src/stable_mir/mir/pretty.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ use std::io::Write;
44
use std::{fmt, io, iter};
55

66
use fmt::{Display, Formatter};
7+
use rustc_smir::IndexedVal;
78
use stable_mir::mir::{
89
Operand, Place, RawPtrKind, Rvalue, StatementKind, UnwindAction, VarDebugInfoContents,
910
};
10-
use stable_mir::ty::{AdtKind, AssocKind, IndexedVal, MirConst, Ty, TyConst};
11+
use stable_mir::ty::{AdtKind, AssocKind, MirConst, Ty, TyConst};
1112
use stable_mir::{Body, CrateDef, Mutability, with};
1213

1314
use super::{AggregateKind, AssertMessage, BinOp, BorrowKind, FakeBorrowKind, TerminatorKind};
14-
use crate::stable_mir;
15+
use crate::{rustc_smir, stable_mir};
1516

1617
impl Display for Ty {
1718
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {

compiler/rustc_smir/src/stable_mir/mod.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@
2727
use std::fmt::Debug;
2828
use std::{fmt, io};
2929

30+
use rustc_hir::def::DefKind;
31+
use rustc_smir::IndexedVal;
3032
use serde::Serialize;
3133
use stable_mir::compiler_interface::with;
3234
pub use stable_mir::crate_def::{CrateDef, CrateDefItems, CrateDefType, DefId};
3335
pub use stable_mir::error::*;
3436
use stable_mir::mir::mono::StaticDef;
3537
use stable_mir::mir::{Body, Mutability};
36-
use stable_mir::ty::{AssocItem, FnDef, ForeignModuleDef, ImplDef, IndexedVal, Span, TraitDef, Ty};
38+
use stable_mir::ty::{AssocItem, FnDef, ForeignModuleDef, ImplDef, Span, TraitDef, Ty};
3739

38-
use crate::stable_mir;
40+
use crate::{rustc_smir, stable_mir};
3941

4042
pub mod abi;
4143
#[macro_use]

compiler/rustc_smir/src/stable_mir/ty.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::fmt::{self, Debug, Display, Formatter};
22
use std::ops::Range;
33

4+
use rustc_smir::IndexedVal;
45
use serde::Serialize;
56
use stable_mir::abi::{FnAbi, Layout};
67
use stable_mir::crate_def::{CrateDef, CrateDefItems, CrateDefType};
@@ -11,7 +12,7 @@ use stable_mir::{Filename, Opaque};
1112

1213
use super::mir::{Body, Mutability, Safety};
1314
use super::{DefId, Error, Symbol, with};
14-
use crate::stable_mir;
15+
use crate::{rustc_smir, stable_mir};
1516

1617
#[derive(Copy, Clone, Eq, PartialEq, Hash, Serialize)]
1718
pub struct Ty(usize);
@@ -1522,15 +1523,9 @@ pub enum PredicatePolarity {
15221523
Negative,
15231524
}
15241525

1525-
pub trait IndexedVal {
1526-
fn to_val(index: usize) -> Self;
1527-
1528-
fn to_index(&self) -> usize;
1529-
}
1530-
15311526
macro_rules! index_impl {
15321527
($name:ident) => {
1533-
impl IndexedVal for $name {
1528+
impl crate::rustc_smir::IndexedVal for $name {
15341529
fn to_val(index: usize) -> Self {
15351530
$name(index)
15361531
}

0 commit comments

Comments
 (0)