Replace custom_encodable
with encodable
.
By default, `newtype_index!` types get a default `Encodable`/`Decodable` impl. You can opt out of this with `custom_encodable`. Opting out is the opposite to how Rust normally works with autogenerated (derived) impls. This commit inverts the behaviour, replacing `custom_encodable` with `encodable` which opts into the default `Encodable`/`Decodable` impl. Only 23 of the 59 `newtype_index!` occurrences need `encodable`. Even better, there were eight crates with a dependency on `rustc_serialize` just from unused default `Encodable`/`Decodable` impls. This commit removes that dependency from those eight crates.
This commit is contained in:
parent
cc4bb0de20
commit
3ef9d4d0ed
29 changed files with 27 additions and 28 deletions
|
@ -22,7 +22,7 @@ impl Parse for Newtype {
|
|||
let mut debug_format: Option<Lit> = None;
|
||||
let mut max = None;
|
||||
let mut consts = Vec::new();
|
||||
let mut encodable = true;
|
||||
let mut encodable = false;
|
||||
let mut ord = true;
|
||||
let mut gate_rustc_only = quote! {};
|
||||
let mut gate_rustc_only_cfg = quote! { all() };
|
||||
|
@ -34,8 +34,8 @@ impl Parse for Newtype {
|
|||
gate_rustc_only_cfg = quote! { feature = "nightly" };
|
||||
false
|
||||
}
|
||||
"custom_encodable" => {
|
||||
encodable = false;
|
||||
"encodable" => {
|
||||
encodable = true;
|
||||
false
|
||||
}
|
||||
"no_ord_impl" => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue