Skip to content

Commit 262cf11

Browse files
committed
wip3: Remove UnsizedConstParamTy related stuff
1 parent 90bf4a1 commit 262cf11

File tree

8 files changed

+15
-82
lines changed

8 files changed

+15
-82
lines changed

compiler/rustc_builtin_macros/src/deriving/bounds.rs

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -39,46 +39,7 @@ pub(crate) fn expand_deriving_const_param_ty(
3939
) {
4040
let trait_def = TraitDef {
4141
span,
42-
path: path_std!(marker::ConstParamTy_),
43-
skip_path_as_bound: false,
44-
needs_copy_as_bound_if_packed: false,
45-
additional_bounds: vec![ty::Ty::Path(path_std!(cmp::Eq))],
46-
supports_unions: false,
47-
methods: Vec::new(),
48-
associated_types: Vec::new(),
49-
is_const,
50-
is_staged_api_crate: cx.ecfg.features.staged_api(),
51-
};
52-
53-
trait_def.expand(cx, mitem, item, push);
54-
55-
let trait_def = TraitDef {
56-
span,
57-
path: path_std!(marker::UnsizedConstParamTy),
58-
skip_path_as_bound: false,
59-
needs_copy_as_bound_if_packed: false,
60-
additional_bounds: vec![ty::Ty::Path(path_std!(cmp::Eq))],
61-
supports_unions: false,
62-
methods: Vec::new(),
63-
associated_types: Vec::new(),
64-
is_const,
65-
is_staged_api_crate: cx.ecfg.features.staged_api(),
66-
};
67-
68-
trait_def.expand(cx, mitem, item, push);
69-
}
70-
71-
pub(crate) fn expand_deriving_unsized_const_param_ty(
72-
cx: &ExtCtxt<'_>,
73-
span: Span,
74-
mitem: &MetaItem,
75-
item: &Annotatable,
76-
push: &mut dyn FnMut(Annotatable),
77-
is_const: bool,
78-
) {
79-
let trait_def = TraitDef {
80-
span,
81-
path: path_std!(marker::UnsizedConstParamTy),
42+
path: path_std!(marker::ConstParamTy),
8243
skip_path_as_bound: false,
8344
needs_copy_as_bound_if_packed: false,
8445
additional_bounds: vec![ty::Ty::Path(path_std!(cmp::Eq))],

compiler/rustc_builtin_macros/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ pub fn register_builtin_macros(resolver: &mut dyn ResolverExpand) {
130130
Clone: clone::expand_deriving_clone,
131131
Copy: bounds::expand_deriving_copy,
132132
ConstParamTy: bounds::expand_deriving_const_param_ty,
133-
UnsizedConstParamTy: bounds::expand_deriving_unsized_const_param_ty,
134133
Debug: debug::expand_deriving_debug,
135134
Default: default::expand_deriving_default,
136135
Eq: eq::expand_deriving_eq,

compiler/rustc_hir_analysis/src/check/wfcheck.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,7 @@ fn check_param_wf(tcx: TyCtxt<'_>, param: &ty::GenericParamDef) -> Result<(), Er
820820
let def_id = param.def_id.expect_local();
821821

822822
if tcx.features().adt_const_params() || tcx.features().unsized_const_params() {
823-
// TODO: should we get rid of the check for LangItem::ConstParamTy? If yes, how should we check
823+
// fixme: should we get rid of the check for LangItem::ConstParamTy? If yes, how should we check
824824
// if the trait is implemented.
825825
enter_wf_checking_ctxt(tcx, tcx.local_parent(def_id), |wfcx| {
826826
wfcx.register_bound(

compiler/rustc_hir_analysis/src/coherence/builtin.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ pub(super) fn check_trait<'tcx>(
4242
checker.check(lang_items.const_param_ty_trait(), |checker| {
4343
visit_implementation_of_const_param_ty(checker, LangItem::ConstParamTy)
4444
})?;
45-
checker.check(lang_items.unsized_const_param_ty_trait(), |checker| {
46-
visit_implementation_of_const_param_ty(checker, LangItem::UnsizedConstParamTy)
47-
})?;
4845
checker.check(lang_items.coerce_unsized_trait(), visit_implementation_of_coerce_unsized)?;
4946
checker
5047
.check(lang_items.dispatch_from_dyn_trait(), visit_implementation_of_dispatch_from_dyn)?;

compiler/rustc_span/src/symbol.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,6 @@ symbols! {
208208
CoerceUnsized,
209209
Command,
210210
ConstParamTy,
211-
ConstParamTy_,
212211
Context,
213212
Continue,
214213
ControlFlow,

library/core/src/marker.rs

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,58 +1078,41 @@ pub trait Tuple {}
10781078
/// that all fields are also `ConstParamTy`, which implies that recursively, all fields
10791079
/// are `StructuralPartialEq`.
10801080
#[lang = "const_param_ty"]
1081-
#[unstable(feature = "unsized_const_params", issue = "95174")]
10821081
#[diagnostic::on_unimplemented(message = "`{Self}` can't be used as a const parameter type")]
10831082
#[allow(multiple_supertrait_upcastable)]
10841083
// We name this differently than the derive macro so that the `adt_const_params` can
10851084
// be used independently of `unsized_const_params` without requiring a full path
10861085
// to the derive macro every time it is used. This should be renamed on stabilization.
1087-
pub trait ConstParamTy_: StructuralPartialEq + Eq {}
1086+
pub trait ConstParamTy: StructuralPartialEq + Eq {}
10881087

10891088
/// Derive macro generating an impl of the trait `ConstParamTy`.
10901089
#[rustc_builtin_macro]
1091-
#[allow_internal_unstable(unsized_const_params)]
1090+
#[allow_internal_unstable(unsized_const_params)] // todo: remove this?
10921091
#[unstable(feature = "adt_const_params", issue = "95174")]
10931092
pub macro ConstParamTy($item:item) {
10941093
/* compiler built-in */
10951094
}
10961095

1097-
#[lang = "unsized_const_param_ty"]
1098-
#[unstable(feature = "unsized_const_params", issue = "95174")]
1099-
#[diagnostic::on_unimplemented(message = "`{Self}` can't be used as a const parameter type")]
1100-
/// A marker for types which can be used as types of `const` generic parameters.
1101-
///
1102-
/// Equivalent to [`ConstParamTy_`] except that this is used by
1103-
/// the `unsized_const_params` to allow for fake unstable impls.
1104-
pub trait UnsizedConstParamTy: StructuralPartialEq + Eq {}
1105-
1106-
/// Derive macro generating an impl of the trait `ConstParamTy`.
1107-
#[rustc_builtin_macro]
1108-
#[allow_internal_unstable(unsized_const_params)]
1109-
#[unstable(feature = "unsized_const_params", issue = "95174")]
1110-
pub macro UnsizedConstParamTy($item:item) {
1111-
/* compiler built-in */
1112-
}
1113-
11141096
// FIXME(adt_const_params): handle `ty::FnDef`/`ty::Closure`
11151097
marker_impls! {
11161098
#[unstable(feature = "adt_const_params", issue = "95174")]
1117-
ConstParamTy_ for
1099+
#[unstable_feature_bound(adt_const_params)]
1100+
ConstParamTy for
11181101
usize, u8, u16, u32, u64, u128,
11191102
isize, i8, i16, i32, i64, i128,
11201103
bool,
11211104
char,
11221105
(),
1123-
{T: ConstParamTy_, const N: usize} [T; N],
1106+
{T: ConstParamTy, const N: usize} [T; N],
11241107
}
11251108

11261109
marker_impls! {
11271110
#[unstable(feature = "unsized_const_params", issue = "95174")]
11281111
#[unstable_feature_bound(unsized_const_params)]
1129-
ConstParamTy_ for
1112+
ConstParamTy for
11301113
str,
1131-
{T: ConstParamTy_} [T],
1132-
{T: ConstParamTy_ + ?Sized} &T,
1114+
{T: ConstParamTy} [T],
1115+
{T: ConstParamTy + ?Sized} &T,
11331116
}
11341117

11351118
/// A common trait implemented by all function pointers.

library/core/src/mem/transmutability.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::marker::ConstParamTy_;
1+
use crate::marker::ConstParamTy;
22

33
/// Marks that `Src` is transmutable into `Self`.
44
///
@@ -290,7 +290,7 @@ pub struct Assume {
290290

291291
#[unstable(feature = "transmutability", issue = "99571")]
292292
#[unstable_feature_bound(transmutability)]
293-
impl ConstParamTy_ for Assume {}
293+
impl ConstParamTy for Assume {}
294294

295295
impl Assume {
296296
/// With this, [`TransmuteFrom`] does not assume you have ensured any safety

library/core/src/tuple.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// See core/src/primitive_docs.rs for documentation.
22

33
use crate::cmp::Ordering::{self, *};
4-
use crate::marker::{ConstParamTy_, StructuralPartialEq, UnsizedConstParamTy};
4+
use crate::marker::{ConstParamTy, StructuralPartialEq};
55
use crate::ops::ControlFlow::{self, Break, Continue};
66

77
// Recursive macro for implementing n-ary tuple functions and operations
@@ -45,14 +45,8 @@ macro_rules! tuple_impls {
4545
maybe_tuple_doc! {
4646
$($T)+ @
4747
#[unstable(feature = "adt_const_params", issue = "95174")]
48-
impl<$($T: ConstParamTy_),+> ConstParamTy_ for ($($T,)+)
49-
{}
50-
}
51-
52-
maybe_tuple_doc! {
53-
$($T)+ @
54-
#[unstable(feature = "unsized_const_params", issue = "95174")]
55-
impl<$($T: UnsizedConstParamTy),+> UnsizedConstParamTy for ($($T,)+)
48+
#[unstable_feature_bound(adt_const_params)]
49+
impl<$($T: ConstParamTy),+> ConstParamTy for ($($T,)+)
5650
{}
5751
}
5852

0 commit comments

Comments
 (0)