@@ -19,7 +19,7 @@ macro_rules! path {
19
19
( $span: expr, $( $part: ident) ::* ) => { vec![ $( Ident :: new( sym:: $part, $span) , ) * ] }
20
20
}
21
21
22
- pub ( crate ) fn expand_deriving_smart_ptr (
22
+ pub ( crate ) fn expand_deriving_coerce_pointee (
23
23
cx : & ExtCtxt < ' _ > ,
24
24
span : Span ,
25
25
_mitem : & MetaItem ,
@@ -41,7 +41,7 @@ pub(crate) fn expand_deriving_smart_ptr(
41
41
cx. dcx ( )
42
42
. struct_span_err (
43
43
span,
44
- "`SmartPointer ` can only be derived on `struct`s with `#[repr(transparent)]`" ,
44
+ "`CoercePointee ` can only be derived on `struct`s with `#[repr(transparent)]`" ,
45
45
)
46
46
. emit ( ) ;
47
47
return ;
@@ -54,7 +54,7 @@ pub(crate) fn expand_deriving_smart_ptr(
54
54
cx. dcx ( )
55
55
. struct_span_err (
56
56
span,
57
- "`SmartPointer ` can only be derived on `struct`s with at least one field" ,
57
+ "`CoercePointee ` can only be derived on `struct`s with at least one field" ,
58
58
)
59
59
. emit ( ) ;
60
60
return ;
@@ -64,7 +64,7 @@ pub(crate) fn expand_deriving_smart_ptr(
64
64
cx. dcx ( )
65
65
. struct_span_err (
66
66
span,
67
- "`SmartPointer ` can only be derived on `struct`s with `#[repr(transparent)]`" ,
67
+ "`CoercePointee ` can only be derived on `struct`s with `#[repr(transparent)]`" ,
68
68
)
69
69
. emit ( ) ;
70
70
return ;
@@ -94,10 +94,10 @@ pub(crate) fn expand_deriving_smart_ptr(
94
94
. collect ( ) ;
95
95
96
96
let pointee_param_idx = if type_params. is_empty ( ) {
97
- // `#[derive(SmartPointer )]` requires at least one generic type on the target `struct`
97
+ // `#[derive(CoercePointee )]` requires at least one generic type on the target `struct`
98
98
cx. dcx ( ) . struct_span_err (
99
99
span,
100
- "`SmartPointer ` can only be derived on `struct`s that are generic over at least one type" ,
100
+ "`CoercePointee ` can only be derived on `struct`s that are generic over at least one type" ,
101
101
) . emit ( ) ;
102
102
return ;
103
103
} else if type_params. len ( ) == 1 {
@@ -113,15 +113,15 @@ pub(crate) fn expand_deriving_smart_ptr(
113
113
( None , _) => {
114
114
cx. dcx ( ) . struct_span_err (
115
115
span,
116
- "exactly one generic type parameter must be marked as #[pointee] to derive SmartPointer traits" ,
116
+ "exactly one generic type parameter must be marked as #[pointee] to derive CoercePointee traits" ,
117
117
) . emit ( ) ;
118
118
return ;
119
119
}
120
120
( Some ( ( _, one) ) , Some ( ( _, another) ) ) => {
121
121
cx. dcx ( )
122
122
. struct_span_err (
123
123
vec ! [ one, another] ,
124
- "only one type parameter can be marked as `#[pointee]` when deriving SmartPointer traits" ,
124
+ "only one type parameter can be marked as `#[pointee]` when deriving CoercePointee traits" ,
125
125
)
126
126
. emit ( ) ;
127
127
return ;
@@ -185,7 +185,7 @@ pub(crate) fn expand_deriving_smart_ptr(
185
185
. struct_span_err (
186
186
pointee_ty_ident. span ,
187
187
format ! (
188
- "`derive(SmartPointer )` requires {} to be marked `?Sized`" ,
188
+ "`derive(CoercePointee )` requires {} to be marked `?Sized`" ,
189
189
pointee_ty_ident. name
190
190
) ,
191
191
)
@@ -195,7 +195,7 @@ pub(crate) fn expand_deriving_smart_ptr(
195
195
let arg = GenericArg :: Type ( s_ty. clone ( ) ) ;
196
196
let unsize = cx. path_all ( span, true , path ! ( span, core:: marker:: Unsize ) , vec ! [ arg] ) ;
197
197
pointee. bounds . push ( cx. trait_bound ( unsize, false ) ) ;
198
- // Drop `#[pointee]` attribute since it should not be recognized outside `derive(SmartPointer )`
198
+ // Drop `#[pointee]` attribute since it should not be recognized outside `derive(CoercePointee )`
199
199
pointee. attrs . retain ( |attr| !attr. has_name ( sym:: pointee) ) ;
200
200
}
201
201
0 commit comments