Skip to content

Commit 5258b65

Browse files
committedDec 15, 2022
Merge SimplifiedTypeGen<D> into SimplifiedType.
`SimplifiedTypeGen<DefId>` is the only instantiation used, so we don't need the generic parameter.
1 parent 2a5aabd commit 5258b65

File tree

5 files changed

+15
-25
lines changed

5 files changed

+15
-25
lines changed
 

‎compiler/rustc_middle/src/ty/fast_reject.rs

+10-20
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,18 @@ use std::fmt::Debug;
66
use std::hash::Hash;
77
use std::iter;
88

9-
use self::SimplifiedTypeGen::*;
9+
use self::SimplifiedType::*;
1010

11-
pub type SimplifiedType = SimplifiedTypeGen<DefId>;
12-
13-
/// See `simplify_type`
14-
///
15-
/// Note that we keep this type generic over the type of identifier it uses
16-
/// because we sometimes need to use SimplifiedTypeGen values as stable sorting
17-
/// keys (in which case we use a DefPathHash as id-type) but in the general case
18-
/// the non-stable but fast to construct DefId-version is the better choice.
11+
/// See `simplify_type`.
1912
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, TyEncodable, TyDecodable, HashStable)]
20-
pub enum SimplifiedTypeGen<D>
21-
where
22-
D: Copy + Debug + Eq,
23-
{
13+
pub enum SimplifiedType {
2414
BoolSimplifiedType,
2515
CharSimplifiedType,
2616
IntSimplifiedType(ty::IntTy),
2717
UintSimplifiedType(ty::UintTy),
2818
FloatSimplifiedType(ty::FloatTy),
29-
AdtSimplifiedType(D),
30-
ForeignSimplifiedType(D),
19+
AdtSimplifiedType(DefId),
20+
ForeignSimplifiedType(DefId),
3121
StrSimplifiedType,
3222
ArraySimplifiedType,
3323
SliceSimplifiedType,
@@ -38,9 +28,9 @@ where
3828
/// A trait object, all of whose components are markers
3929
/// (e.g., `dyn Send + Sync`).
4030
MarkerTraitObjectSimplifiedType,
41-
TraitSimplifiedType(D),
42-
ClosureSimplifiedType(D),
43-
GeneratorSimplifiedType(D),
31+
TraitSimplifiedType(DefId),
32+
ClosureSimplifiedType(DefId),
33+
GeneratorSimplifiedType(DefId),
4434
GeneratorWitnessSimplifiedType(usize),
4535
FunctionSimplifiedType(usize),
4636
PlaceholderSimplifiedType,
@@ -142,8 +132,8 @@ pub fn simplify_type<'tcx>(
142132
}
143133
}
144134

145-
impl<D: Copy + Debug + Eq> SimplifiedTypeGen<D> {
146-
pub fn def(self) -> Option<D> {
135+
impl SimplifiedType {
136+
pub fn def(self) -> Option<DefId> {
147137
match self {
148138
AdtSimplifiedType(d)
149139
| ForeignSimplifiedType(d)

‎compiler/rustc_middle/src/ty/parameterized.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use rustc_data_structures::fx::FxHashMap;
2-
use rustc_hir::def_id::{DefId, DefIndex};
2+
use rustc_hir::def_id::DefIndex;
33
use rustc_index::vec::{Idx, IndexVec};
44

55
use crate::middle::exported_symbols::ExportedSymbol;
@@ -67,7 +67,7 @@ trivially_parameterized_over_tcx! {
6767
ty::TraitDef,
6868
ty::Visibility<DefIndex>,
6969
ty::adjustment::CoerceUnsizedInfo,
70-
ty::fast_reject::SimplifiedTypeGen<DefId>,
70+
ty::fast_reject::SimplifiedType,
7171
rustc_ast::Attribute,
7272
rustc_ast::DelimArgs,
7373
rustc_attr::ConstStability,

‎src/librustdoc/clean/inline.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ pub(crate) fn build_impls(
325325
// * https://github.com/rust-lang/rust/pull/99917 — where the feature got used
326326
// * https://github.com/rust-lang/rust/issues/53487 — overall tracking issue for Error
327327
if tcx.has_attr(did, sym::rustc_has_incoherent_inherent_impls) {
328-
use rustc_middle::ty::fast_reject::SimplifiedTypeGen::*;
328+
use rustc_middle::ty::fast_reject::SimplifiedType::*;
329329
let type_ =
330330
if tcx.is_trait(did) { TraitSimplifiedType(did) } else { AdtSimplifiedType(did) };
331331
for &did in tcx.incoherent_impls(type_) {

‎src/librustdoc/clean/types.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1870,7 +1870,7 @@ impl PrimitiveType {
18701870
}
18711871

18721872
pub(crate) fn simplified_types() -> &'static SimplifiedTypes {
1873-
use ty::fast_reject::SimplifiedTypeGen::*;
1873+
use ty::fast_reject::SimplifiedType::*;
18741874
use ty::{FloatTy, IntTy, UintTy};
18751875
use PrimitiveType::*;
18761876
static CELL: OnceCell<SimplifiedTypes> = OnceCell::new();

‎src/tools/clippy/clippy_utils/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ use rustc_middle::hir::place::PlaceBase;
9797
use rustc_middle::ty as rustc_ty;
9898
use rustc_middle::ty::adjustment::{Adjust, Adjustment, AutoBorrow};
9999
use rustc_middle::ty::binding::BindingMode;
100-
use rustc_middle::ty::fast_reject::SimplifiedTypeGen::{
100+
use rustc_middle::ty::fast_reject::SimplifiedType::{
101101
ArraySimplifiedType, BoolSimplifiedType, CharSimplifiedType, FloatSimplifiedType, IntSimplifiedType,
102102
PtrSimplifiedType, SliceSimplifiedType, StrSimplifiedType, UintSimplifiedType,
103103
};

0 commit comments

Comments
 (0)