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
|
@ -17,6 +17,7 @@ rustc_index::newtype_index! {
|
|||
/// Note that LLVM handles counter IDs as `uint32_t`, so there is no need
|
||||
/// to use a larger representation on the Rust side.
|
||||
#[derive(HashStable)]
|
||||
#[encodable]
|
||||
#[max = 0xFFFF_FFFF]
|
||||
#[debug_format = "CounterId({})"]
|
||||
pub struct CounterId {}
|
||||
|
@ -37,6 +38,7 @@ rustc_index::newtype_index! {
|
|||
/// Note that LLVM handles expression IDs as `uint32_t`, so there is no need
|
||||
/// to use a larger representation on the Rust side.
|
||||
#[derive(HashStable)]
|
||||
#[encodable]
|
||||
#[max = 0xFFFF_FFFF]
|
||||
#[debug_format = "ExpressionId({})"]
|
||||
pub struct ExpressionId {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue