Deprecate custom_derive
Has a custom deprecation since deprecating features is not supported and is a pain to implement
This commit is contained in:
@@ -897,7 +897,12 @@ pub const EXPLAIN_ALLOW_INTERNAL_UNSTABLE: &'static str =
|
|||||||
"allow_internal_unstable side-steps feature gating and stability checks";
|
"allow_internal_unstable side-steps feature gating and stability checks";
|
||||||
|
|
||||||
pub const EXPLAIN_CUSTOM_DERIVE: &'static str =
|
pub const EXPLAIN_CUSTOM_DERIVE: &'static str =
|
||||||
"`#[derive]` for custom traits is not stable enough for use and is subject to change";
|
"`#[derive]` for custom traits is not stable enough for use. It is deprecated and will \
|
||||||
|
be removed in v1.15";
|
||||||
|
|
||||||
|
pub const EXPLAIN_DEPR_CUSTOM_DERIVE: &'static str =
|
||||||
|
"`#[derive]` for custom traits is deprecated and will be removed in v1.15. Prefer using \
|
||||||
|
procedural macro custom derive";
|
||||||
|
|
||||||
pub const EXPLAIN_DERIVE_UNDERSCORE: &'static str =
|
pub const EXPLAIN_DERIVE_UNDERSCORE: &'static str =
|
||||||
"attributes of the form `#[derive_*]` are reserved for the compiler";
|
"attributes of the form `#[derive_*]` are reserved for the compiler";
|
||||||
|
|||||||
@@ -175,6 +175,7 @@ pub fn expand_derive(cx: &mut ExtCtxt,
|
|||||||
feature_gate::GateIssue::Language,
|
feature_gate::GateIssue::Language,
|
||||||
feature_gate::EXPLAIN_CUSTOM_DERIVE);
|
feature_gate::EXPLAIN_CUSTOM_DERIVE);
|
||||||
} else {
|
} else {
|
||||||
|
cx.span_warn(titem.span, EXPLAIN_DEPR_CUSTOM_DERIVE);
|
||||||
let name = intern_and_get_ident(&format!("derive_{}", tname));
|
let name = intern_and_get_ident(&format!("derive_{}", tname));
|
||||||
let mitem = cx.meta_word(titem.span, name);
|
let mitem = cx.meta_word(titem.span, name);
|
||||||
new_attributes.push(cx.attribute(mitem.span, mitem));
|
new_attributes.push(cx.attribute(mitem.span, mitem));
|
||||||
|
|||||||
Reference in New Issue
Block a user