From 3a44115a7226267c05aaea50c090742ce39d0947 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Mon, 17 Sep 2018 11:48:20 +0200 Subject: [PATCH] Add `Rustc` prefixes to `derive(Decodable, Encodable)`. As a bit of a hack, make `rustc_serialize` an alias of the private `serialize` crate, just so the new derive continues working. Fix #54287. --- .../run-pass-fulldeps/deriving-encodable-decodable-box.rs | 3 ++- .../deriving-encodable-decodable-cell-refcell.rs | 5 +++-- src/test/run-pass-fulldeps/deriving-global.rs | 7 ++++--- src/test/run-pass-fulldeps/deriving-hygiene.rs | 3 ++- src/test/run-pass-fulldeps/issue-11881.rs | 5 +++-- src/test/run-pass-fulldeps/issue-14021.rs | 3 ++- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/test/run-pass-fulldeps/deriving-encodable-decodable-box.rs b/src/test/run-pass-fulldeps/deriving-encodable-decodable-box.rs index 6f86e42462e..8b56ade21f9 100644 --- a/src/test/run-pass-fulldeps/deriving-encodable-decodable-box.rs +++ b/src/test/run-pass-fulldeps/deriving-encodable-decodable-box.rs @@ -14,11 +14,12 @@ #![feature(rustc_private)] extern crate serialize; +use serialize as rustc_serialize; use serialize::{Encodable, Decodable}; use serialize::json; -#[derive(Encodable, Decodable)] +#[derive(RustcEncodable, RustcDecodable)] struct A { foo: Box<[bool]>, } diff --git a/src/test/run-pass-fulldeps/deriving-encodable-decodable-cell-refcell.rs b/src/test/run-pass-fulldeps/deriving-encodable-decodable-cell-refcell.rs index 15a007f32be..15edd4d4950 100644 --- a/src/test/run-pass-fulldeps/deriving-encodable-decodable-cell-refcell.rs +++ b/src/test/run-pass-fulldeps/deriving-encodable-decodable-cell-refcell.rs @@ -16,17 +16,18 @@ #![feature(rustc_private)] extern crate serialize; +use serialize as rustc_serialize; use std::cell::{Cell, RefCell}; use serialize::{Encodable, Decodable}; use serialize::json; -#[derive(Encodable, Decodable)] +#[derive(RustcEncodable, RustcDecodable)] struct A { baz: isize } -#[derive(Encodable, Decodable)] +#[derive(RustcEncodable, RustcDecodable)] struct B { foo: Cell, bar: RefCell, diff --git a/src/test/run-pass-fulldeps/deriving-global.rs b/src/test/run-pass-fulldeps/deriving-global.rs index e9678732804..b95c947d215 100644 --- a/src/test/run-pass-fulldeps/deriving-global.rs +++ b/src/test/run-pass-fulldeps/deriving-global.rs @@ -11,6 +11,7 @@ #![feature(rustc_private)] extern crate serialize; +use serialize as rustc_serialize; mod submod { // if any of these are implemented without global calls for any @@ -20,21 +21,21 @@ mod submod { Hash, Clone, Debug, - Encodable, Decodable)] + RustcEncodable, RustcDecodable)] enum A { A1(usize), A2(isize) } #[derive(PartialEq, PartialOrd, Eq, Ord, Hash, Clone, Debug, - Encodable, Decodable)] + RustcEncodable, RustcDecodable)] struct B { x: usize, y: isize } #[derive(PartialEq, PartialOrd, Eq, Ord, Hash, Clone, Debug, - Encodable, Decodable)] + RustcEncodable, RustcDecodable)] struct C(usize, isize); } diff --git a/src/test/run-pass-fulldeps/deriving-hygiene.rs b/src/test/run-pass-fulldeps/deriving-hygiene.rs index b718d778d21..1deeb242437 100644 --- a/src/test/run-pass-fulldeps/deriving-hygiene.rs +++ b/src/test/run-pass-fulldeps/deriving-hygiene.rs @@ -11,6 +11,7 @@ #![allow(non_upper_case_globals)] #![feature(rustc_private)] extern crate serialize; +use serialize as rustc_serialize; pub const other: u8 = 1; pub const f: u8 = 1; @@ -19,7 +20,7 @@ pub const state: u8 = 1; pub const cmp: u8 = 1; -#[derive(Ord,Eq,PartialOrd,PartialEq,Debug,Decodable,Encodable,Hash)] +#[derive(Ord,Eq,PartialOrd,PartialEq,Debug,RustcDecodable,RustcEncodable,Hash)] struct Foo {} fn main() { diff --git a/src/test/run-pass-fulldeps/issue-11881.rs b/src/test/run-pass-fulldeps/issue-11881.rs index d9edddccd4b..5121ecd6cf3 100644 --- a/src/test/run-pass-fulldeps/issue-11881.rs +++ b/src/test/run-pass-fulldeps/issue-11881.rs @@ -15,6 +15,7 @@ #![feature(rustc_private)] extern crate serialize; +use serialize as rustc_serialize; use std::io::Cursor; use std::io::prelude::*; @@ -25,12 +26,12 @@ use serialize::json; use serialize::opaque; -#[derive(Encodable)] +#[derive(RustcEncodable)] struct Foo { baz: bool, } -#[derive(Encodable)] +#[derive(RustcEncodable)] struct Bar { froboz: usize, } diff --git a/src/test/run-pass-fulldeps/issue-14021.rs b/src/test/run-pass-fulldeps/issue-14021.rs index 01fe77da0aa..5426dd94637 100644 --- a/src/test/run-pass-fulldeps/issue-14021.rs +++ b/src/test/run-pass-fulldeps/issue-14021.rs @@ -13,11 +13,12 @@ #![feature(rustc_private)] extern crate serialize; +extern crate serialize as rustc_serialize; use serialize::{Encodable, Decodable}; use serialize::json; -#[derive(Encodable, Decodable, PartialEq, Debug)] +#[derive(RustcEncodable, RustcDecodable, PartialEq, Debug)] struct UnitLikeStruct; pub fn main() { -- 2.44.0