Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 1a33e57

Browse files
committedMar 23, 2025·
Change AssocItems to Vec<AssocItem>.
1 parent f659fcc commit 1a33e57

File tree

5 files changed

+16
-24
lines changed

5 files changed

+16
-24
lines changed
 

‎compiler/rustc_smir/src/rustc_smir/context.rs

+5-11
Original file line numberDiff line numberDiff line change
@@ -823,23 +823,17 @@ impl<'tcx> Context for TablesWrapper<'tcx> {
823823
ty.stable(&mut *tables)
824824
}
825825

826-
fn associated_items(&self, def_id: stable_mir::DefId) -> stable_mir::ty::AssocItems {
826+
fn associated_items(&self, def_id: stable_mir::DefId) -> stable_mir::AssocItems {
827827
let mut tables = self.0.borrow_mut();
828828
let tcx = tables.tcx;
829829
let def_id = tables[def_id];
830830
let assoc_items = if tcx.is_trait_alias(def_id) {
831-
stable_mir::ty::AssocItems { items: Vec::new() }
831+
Vec::new()
832832
} else {
833-
let items: Vec<(Symbol, stable_mir::ty::AssocItem)> = tcx
834-
.associated_item_def_ids(def_id)
833+
tcx.associated_item_def_ids(def_id)
835834
.iter()
836-
.map(|did| {
837-
let item = tcx.associated_item(*did).stable(&mut *tables);
838-
(item.name.clone(), item)
839-
})
840-
.collect();
841-
842-
stable_mir::ty::AssocItems { items }
835+
.map(|did| tcx.associated_item(*did).stable(&mut *tables))
836+
.collect()
843837
};
844838
assoc_items
845839
}

‎compiler/stable_mir/src/compiler_interface.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ use crate::mir::mono::{Instance, InstanceDef, StaticDef};
1212
use crate::mir::{BinOp, Body, Place, UnOp};
1313
use crate::target::MachineInfo;
1414
use crate::ty::{
15-
AdtDef, AdtKind, Allocation, AssocItems, ClosureDef, ClosureKind, FieldDef, FnDef, ForeignDef,
15+
AdtDef, AdtKind, Allocation, ClosureDef, ClosureKind, FieldDef, FnDef, ForeignDef,
1616
ForeignItemKind, ForeignModule, ForeignModuleDef, GenericArgs, GenericPredicates, Generics,
1717
ImplDef, ImplTrait, IntrinsicDef, LineInfo, MirConst, PolyFnSig, RigidTy, Span, TraitDecl,
1818
TraitDef, Ty, TyConst, TyConstId, TyKind, UintTy, VariantDef,
1919
};
2020
use crate::{
21-
Crate, CrateItem, CrateItems, CrateNum, DefId, Error, Filename, ImplTraitDecls, ItemKind,
22-
Symbol, TraitDecls, mir,
21+
AssocItems, Crate, CrateItem, CrateItems, CrateNum, DefId, Error, Filename, ImplTraitDecls,
22+
ItemKind, Symbol, TraitDecls, mir,
2323
};
2424

2525
/// This trait defines the interface between stable_mir and the Rust compiler.

‎compiler/stable_mir/src/crate_def.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
44
use serde::Serialize;
55

6-
use crate::ty::{AssocItems, GenericArgs, Span, Ty};
7-
use crate::{Crate, Symbol, with};
6+
use crate::ty::{GenericArgs, Span, Ty};
7+
use crate::{AssocItems, Crate, Symbol, with};
88

99
/// A unique identification number for each item accessible for the current compilation unit.
1010
#[derive(Clone, Copy, PartialEq, Eq, Hash, Serialize)]

‎compiler/stable_mir/src/lib.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pub use crate::crate_def::{CrateDef, CrateDefItems, CrateDefType, DefId};
2727
pub use crate::error::*;
2828
use crate::mir::mono::StaticDef;
2929
use crate::mir::{Body, Mutability};
30-
use crate::ty::{FnDef, ForeignModuleDef, ImplDef, IndexedVal, Span, TraitDef, Ty};
30+
use crate::ty::{AssocItem, FnDef, ForeignModuleDef, ImplDef, IndexedVal, Span, TraitDef, Ty};
3131

3232
pub mod abi;
3333
#[macro_use]
@@ -71,6 +71,9 @@ pub type TraitDecls = Vec<TraitDef>;
7171
/// A list of impl trait decls.
7272
pub type ImplTraitDecls = Vec<ImplDef>;
7373

74+
/// A list of associated items.
75+
pub type AssocItems = Vec<AssocItem>;
76+
7477
/// Holds information about a crate.
7578
#[derive(Clone, PartialEq, Eq, Debug, Serialize)]
7679
pub struct Crate {

‎compiler/stable_mir/src/ty.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::crate_def::{CrateDef, CrateDefItems, CrateDefType};
1010
use crate::mir::alloc::{AllocId, read_target_int, read_target_uint};
1111
use crate::mir::mono::StaticDef;
1212
use crate::target::MachineInfo;
13-
use crate::{Filename, Opaque};
13+
use crate::{AssocItems, Filename, Opaque};
1414

1515
#[derive(Copy, Clone, Eq, PartialEq, Hash, Serialize)]
1616
pub struct Ty(usize);
@@ -777,7 +777,7 @@ impl CrateDefItems for AdtDef {
777777
fn associated_items(&self) -> AssocItems {
778778
match &self.kind() {
779779
AdtKind::Enum | AdtKind::Struct => with(|cx| cx.associated_items(self.def_id())),
780-
AdtKind::Union => AssocItems { items: Vec::new() },
780+
AdtKind::Union => Vec::new(),
781781
}
782782
}
783783
}
@@ -1573,11 +1573,6 @@ pub struct VariantIdx(usize);
15731573

15741574
index_impl!(VariantIdx);
15751575

1576-
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
1577-
pub struct AssocItems {
1578-
pub items: Vec<(Symbol, AssocItem)>,
1579-
}
1580-
15811576
crate_def! {
15821577
/// Hold infomation about an Opaque definition, particularly useful in `RPITIT`.
15831578
#[derive(Serialize)]

0 commit comments

Comments
 (0)
Please sign in to comment.