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
|
@ -60,7 +60,6 @@ pub struct SyntaxContextData {
|
|||
|
||||
rustc_index::newtype_index! {
|
||||
/// A unique ID associated with a macro invocation and expansion.
|
||||
#[custom_encodable]
|
||||
pub struct ExpnIndex {}
|
||||
}
|
||||
|
||||
|
@ -80,7 +79,6 @@ impl fmt::Debug for ExpnId {
|
|||
|
||||
rustc_index::newtype_index! {
|
||||
/// A unique ID associated with a macro invocation and expansion.
|
||||
#[custom_encodable]
|
||||
#[no_ord_impl]
|
||||
#[debug_format = "expn{}"]
|
||||
pub struct LocalExpnId {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue