Skip to content

Commit 6e7d624

Browse files
s/SmartPointer/CoerceReferent/g
move derive_smart_pointer into removed set
1 parent a1eceec commit 6e7d624

27 files changed

+417
-397
lines changed

compiler/rustc_builtin_macros/messages.ftl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ builtin_macros_non_exhaustive_default = default variant must be exhaustive
235235
.label = declared `#[non_exhaustive]` here
236236
.help = consider a manual implementation of `Default`
237237
238-
builtin_macros_non_generic_pointee = the `#[pointee]` attribute may only be used on generic parameters
238+
builtin_macros_non_generic_referent = the `#[referent]` attribute may only be used on generic parameters
239239
240240
builtin_macros_non_unit_default = the `#[default]` attribute may only be used on unit enum variants
241241
.help = consider a manual implementation of `Default`

compiler/rustc_builtin_macros/src/deriving/smart_ptr.rs renamed to compiler/rustc_builtin_macros/src/deriving/coerce_referent.rs

Lines changed: 61 additions & 61 deletions
Large diffs are not rendered by default.

compiler/rustc_builtin_macros/src/deriving/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ macro path_std($($x:tt)*) {
2222

2323
pub(crate) mod bounds;
2424
pub(crate) mod clone;
25+
pub(crate) mod coerce_referent;
2526
pub(crate) mod debug;
2627
pub(crate) mod decodable;
2728
pub(crate) mod default;
2829
pub(crate) mod encodable;
2930
pub(crate) mod hash;
30-
pub(crate) mod smart_ptr;
3131

3232
#[path = "cmp/eq.rs"]
3333
pub(crate) mod eq;

compiler/rustc_builtin_macros/src/errors.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -942,8 +942,8 @@ pub(crate) struct NakedFunctionTestingAttribute {
942942
}
943943

944944
#[derive(Diagnostic)]
945-
#[diag(builtin_macros_non_generic_pointee)]
946-
pub(crate) struct NonGenericPointee {
945+
#[diag(builtin_macros_non_generic_referent)]
946+
pub(crate) struct NonGenericReferent {
947947
#[primary_span]
948948
pub span: Span,
949949
}

compiler/rustc_builtin_macros/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ pub fn register_builtin_macros(resolver: &mut dyn ResolverExpand) {
130130
PartialOrd: partial_ord::expand_deriving_partial_ord,
131131
RustcDecodable: decodable::expand_deriving_rustc_decodable,
132132
RustcEncodable: encodable::expand_deriving_rustc_encodable,
133-
SmartPointer: smart_ptr::expand_deriving_smart_ptr,
133+
CoerceReferent: coerce_referent::expand_deriving_coerce_referent,
134134
}
135135

136136
let client = proc_macro::bridge::client::Client::expand1(proc_macro::quote);

compiler/rustc_feature/src/removed.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ declare_features! (
8585
/// Allows default type parameters to influence type inference.
8686
(removed, default_type_parameter_fallback, "1.82.0", Some(27336),
8787
Some("never properly implemented; requires significant design work")),
88+
/// Allows deriving traits as per `SmartPointer` specification
89+
(removed, derive_smart_pointer, "1.79.0", Some(123430), Some("replaced by `CoerceReferent`")),
8890
/// Allows using `#[doc(keyword = "...")]`.
8991
(removed, doc_keyword, "1.28.0", Some(51315),
9092
Some("merged into `#![feature(rustdoc_internals)]`")),

compiler/rustc_feature/src/unstable.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,8 @@ declare_features! (
432432
(unstable, deprecated_suggestion, "1.61.0", Some(94785)),
433433
/// Allows deref patterns.
434434
(incomplete, deref_patterns, "1.79.0", Some(87121)),
435-
/// Allows deriving `SmartPointer` traits
436-
(unstable, derive_smart_pointer, "1.79.0", Some(123430)),
435+
/// Allows deriving traits as per `CoerceReferent` specification
436+
(unstable, derive_coerce_referent, "1.79.0", Some(123430)),
437437
/// Controls errors in trait implementations.
438438
(unstable, do_not_recommend, "1.67.0", Some(51992)),
439439
/// Tells rustdoc to automatically generate `#[doc(cfg(...))]`.

compiler/rustc_passes/src/check_attr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
259259
| sym::cfg_attr
260260
// need to be fixed
261261
| sym::cfi_encoding // FIXME(cfi_encoding)
262-
| sym::pointee // FIXME(derive_smart_pointer)
262+
| sym::referent // FIXME(derive_coerce_referent)
263263
| sym::omit_gdb_pretty_printer_section // FIXME(omit_gdb_pretty_printer_section)
264264
| sym::used // handled elsewhere to restrict to static items
265265
| sym::repr // handled elsewhere to restrict to type decls items

compiler/rustc_span/src/symbol.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ symbols! {
174174
Center,
175175
Cleanup,
176176
Clone,
177+
CoerceReferent,
177178
CoerceUnsized,
178179
Command,
179180
ConstParamTy,
@@ -315,7 +316,6 @@ symbols! {
315316
Sized,
316317
SliceIndex,
317318
SliceIter,
318-
SmartPointer,
319319
Some,
320320
SpanCtxt,
321321
String,
@@ -737,6 +737,7 @@ symbols! {
737737
deref_pure,
738738
deref_target,
739739
derive,
740+
derive_coerce_referent,
740741
derive_const,
741742
derive_default_enum,
742743
derive_smart_pointer,
@@ -1460,7 +1461,6 @@ symbols! {
14601461
plugin,
14611462
plugin_registrar,
14621463
plugins,
1463-
pointee,
14641464
pointee_trait,
14651465
pointer,
14661466
pointer_like,
@@ -1571,6 +1571,7 @@ symbols! {
15711571
ref_pat_everywhere,
15721572
ref_unwind_safe_trait,
15731573
reference,
1574+
referent,
15741575
reflect,
15751576
reg,
15761577
reg16,

library/core/src/marker.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,10 +1062,11 @@ pub trait FnPtr: Copy + Clone {
10621062
}
10631063

10641064
/// Derive macro generating impls of traits related to smart pointers.
1065-
#[rustc_builtin_macro(SmartPointer, attributes(pointee))]
1065+
#[rustc_builtin_macro(CoerceReferent, attributes(referent))]
10661066
#[allow_internal_unstable(dispatch_from_dyn, coerce_unsized, unsize)]
1067-
#[unstable(feature = "derive_smart_pointer", issue = "123430")]
1068-
pub macro SmartPointer($item:item) {
1067+
#[unstable(feature = "derive_coerce_referent", issue = "123430")]
1068+
#[cfg(not(bootstrap))]
1069+
pub macro CoerceReferent($item:item) {
10691070
/* compiler built-in */
10701071
}
10711072

0 commit comments

Comments
 (0)