Skip to content

Transition libserialize to 2018 edition #58252

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/libserialize/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
authors = ["The Rust Project Developers"]
name = "serialize"
version = "0.0.0"
edition = "2018"

[lib]
name = "serialize"
Expand Down
2 changes: 1 addition & 1 deletion src/libserialize/collection_impls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

use std::hash::{Hash, BuildHasher};

use {Decodable, Encodable, Decoder, Encoder};
use crate::{Decodable, Encodable, Decoder, Encoder};
use std::collections::{LinkedList, VecDeque, BTreeMap, BTreeSet, HashMap, HashSet};
use std::rc::Rc;
use std::sync::Arc;
Expand Down
4 changes: 2 additions & 2 deletions src/libserialize/hex.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ pub enum FromHexError {
}

impl fmt::Display for FromHexError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
InvalidHexCharacter(ch, idx) =>
write!(f, "Invalid character '{}' at position {}", ch, idx),
Expand Down Expand Up @@ -146,7 +146,7 @@ impl FromHex for str {
mod tests {
extern crate test;
use self::test::Bencher;
use hex::{FromHex, ToHex};
use crate::hex::{FromHex, ToHex};

#[test]
pub fn test_to_hex() {
Expand Down
60 changes: 30 additions & 30 deletions src/libserialize/json.rs
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ use std::string;
use std::{char, f64, fmt, str};
use std;

use Encodable;
use crate::Encodable;

/// Represents a json value
#[derive(Clone, PartialEq, PartialOrd, Debug)]
Expand All @@ -221,8 +221,8 @@ pub type Object = BTreeMap<string::String, Json>;

pub struct PrettyJson<'a> { inner: &'a Json }

pub struct AsJson<'a, T: 'a> { inner: &'a T }
pub struct AsPrettyJson<'a, T: 'a> { inner: &'a T, indent: Option<usize> }
pub struct AsJson<'a, T> { inner: &'a T }
pub struct AsPrettyJson<'a, T> { inner: &'a T, indent: Option<usize> }

/// The errors that can arise while parsing a JSON stream.
#[derive(Clone, Copy, PartialEq, Debug)]
Expand Down Expand Up @@ -295,18 +295,18 @@ pub fn error_str(error: ErrorCode) -> &'static str {
}

/// Shortcut function to decode a JSON `&str` into an object
pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
pub fn decode<T: crate::Decodable>(s: &str) -> DecodeResult<T> {
let json = match from_str(s) {
Ok(x) => x,
Err(e) => return Err(ParseError(e))
};

let mut decoder = Decoder::new(json);
::Decodable::decode(&mut decoder)
crate::Decodable::decode(&mut decoder)
}

/// Shortcut function to encode a `T` into a JSON `String`
pub fn encode<T: ::Encodable>(object: &T) -> Result<string::String, EncoderError> {
pub fn encode<T: crate::Encodable>(object: &T) -> Result<string::String, EncoderError> {
let mut s = String::new();
{
let mut encoder = Encoder::new(&mut s);
Expand All @@ -316,7 +316,7 @@ pub fn encode<T: ::Encodable>(object: &T) -> Result<string::String, EncoderError
}

impl fmt::Display for ErrorCode {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
error_str(*self).fmt(f)
}
}
Expand All @@ -326,14 +326,14 @@ fn io_error_to_error(io: io::Error) -> ParserError {
}

impl fmt::Display for ParserError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
// FIXME this should be a nicer error
fmt::Debug::fmt(self, f)
}
}

impl fmt::Display for DecoderError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
// FIXME this should be a nicer error
fmt::Debug::fmt(self, f)
}
Expand All @@ -344,7 +344,7 @@ impl std::error::Error for DecoderError {
}

impl fmt::Display for EncoderError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
// FIXME this should be a nicer error
fmt::Debug::fmt(self, f)
}
Expand Down Expand Up @@ -477,7 +477,7 @@ macro_rules! emit_enquoted_if_mapkey {
})
}

impl<'a> ::Encoder for Encoder<'a> {
impl<'a> crate::Encoder for Encoder<'a> {
type Error = EncoderError;

fn emit_unit(&mut self) -> EncodeResult {
Expand Down Expand Up @@ -727,7 +727,7 @@ impl<'a> PrettyEncoder<'a> {
}
}

impl<'a> ::Encoder for PrettyEncoder<'a> {
impl<'a> crate::Encoder for PrettyEncoder<'a> {
type Error = EncoderError;

fn emit_unit(&mut self) -> EncodeResult {
Expand Down Expand Up @@ -997,7 +997,7 @@ impl<'a> ::Encoder for PrettyEncoder<'a> {
}

impl Encodable for Json {
fn encode<E: ::Encoder>(&self, e: &mut E) -> Result<(), E::Error> {
fn encode<E: crate::Encoder>(&self, e: &mut E) -> Result<(), E::Error> {
match *self {
Json::I64(v) => v.encode(e),
Json::U64(v) => v.encode(e),
Expand All @@ -1013,20 +1013,20 @@ impl Encodable for Json {

/// Create an `AsJson` wrapper which can be used to print a value as JSON
/// on-the-fly via `write!`
pub fn as_json<T>(t: &T) -> AsJson<T> {
pub fn as_json<T>(t: &T) -> AsJson<'_, T> {
AsJson { inner: t }
}

/// Create an `AsPrettyJson` wrapper which can be used to print a value as JSON
/// on-the-fly via `write!`
pub fn as_pretty_json<T>(t: &T) -> AsPrettyJson<T> {
pub fn as_pretty_json<T>(t: &T) -> AsPrettyJson<'_, T> {
AsPrettyJson { inner: t, indent: None }
}

impl Json {
/// Borrow this json object as a pretty object to generate a pretty
/// representation for it via `Display`.
pub fn pretty(&self) -> PrettyJson {
pub fn pretty(&self) -> PrettyJson<'_> {
PrettyJson { inner: self }
}

Expand Down Expand Up @@ -1300,7 +1300,7 @@ impl Stack {
/// Provides access to the StackElement at a given index.
/// lower indices are at the bottom of the stack while higher indices are
/// at the top.
pub fn get(&self, idx: usize) -> StackElement {
pub fn get(&self, idx: usize) -> StackElement<'_> {
match self.stack[idx] {
InternalIndex(i) => StackElement::Index(i),
InternalKey(start, size) => {
Expand All @@ -1311,8 +1311,8 @@ impl Stack {
}
}

/// Compares this stack with an array of StackElements.
pub fn is_equal_to(&self, rhs: &[StackElement]) -> bool {
/// Compares this stack with an array of StackElement<'_>s.
pub fn is_equal_to(&self, rhs: &[StackElement<'_>]) -> bool {
if self.stack.len() != rhs.len() { return false; }
for (i, r) in rhs.iter().enumerate() {
if self.get(i) != *r { return false; }
Expand All @@ -1322,7 +1322,7 @@ impl Stack {

/// Returns true if the bottom-most elements of this stack are the same as
/// the ones passed as parameter.
pub fn starts_with(&self, rhs: &[StackElement]) -> bool {
pub fn starts_with(&self, rhs: &[StackElement<'_>]) -> bool {
if self.stack.len() < rhs.len() { return false; }
for (i, r) in rhs.iter().enumerate() {
if self.get(i) != *r { return false; }
Expand All @@ -1332,7 +1332,7 @@ impl Stack {

/// Returns true if the top-most elements of this stack are the same as
/// the ones passed as parameter.
pub fn ends_with(&self, rhs: &[StackElement]) -> bool {
pub fn ends_with(&self, rhs: &[StackElement<'_>]) -> bool {
if self.stack.len() < rhs.len() { return false; }
let offset = self.stack.len() - rhs.len();
for (i, r) in rhs.iter().enumerate() {
Expand All @@ -1342,7 +1342,7 @@ impl Stack {
}

/// Returns the top-most element (if any).
pub fn top(&self) -> Option<StackElement> {
pub fn top(&self) -> Option<StackElement<'_>> {
match self.stack.last() {
None => None,
Some(&InternalIndex(i)) => Some(StackElement::Index(i)),
Expand Down Expand Up @@ -2115,7 +2115,7 @@ macro_rules! read_primitive {
}
}

impl ::Decoder for Decoder {
impl crate::Decoder for Decoder {
type Error = DecoderError;

fn read_nil(&mut self) -> DecodeResult<()> {
Expand Down Expand Up @@ -2172,7 +2172,7 @@ impl ::Decoder for Decoder {
Err(ExpectedError("single character string".to_owned(), s.to_string()))
}

fn read_str(&mut self) -> DecodeResult<Cow<str>> {
fn read_str(&mut self) -> DecodeResult<Cow<'_, str>> {
expect!(self.pop(), String).map(Cow::Owned)
}

Expand Down Expand Up @@ -2518,7 +2518,7 @@ impl<'a, 'b> fmt::Write for FormatShim<'a, 'b> {

impl fmt::Display for Json {
/// Encodes a json value into a string
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut shim = FormatShim { inner: f };
let mut encoder = Encoder::new(&mut shim);
match self.encode(&mut encoder) {
Expand All @@ -2530,7 +2530,7 @@ impl fmt::Display for Json {

impl<'a> fmt::Display for PrettyJson<'a> {
/// Encodes a json value into a string
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut shim = FormatShim { inner: f };
let mut encoder = PrettyEncoder::new(&mut shim);
match self.inner.encode(&mut encoder) {
Expand All @@ -2542,7 +2542,7 @@ impl<'a> fmt::Display for PrettyJson<'a> {

impl<'a, T: Encodable> fmt::Display for AsJson<'a, T> {
/// Encodes a json value into a string
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut shim = FormatShim { inner: f };
let mut encoder = Encoder::new(&mut shim);
match self.inner.encode(&mut encoder) {
Expand All @@ -2562,7 +2562,7 @@ impl<'a, T> AsPrettyJson<'a, T> {

impl<'a, T: Encodable> fmt::Display for AsPrettyJson<'a, T> {
/// Encodes a json value into a string
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut shim = FormatShim { inner: f };
let mut encoder = PrettyEncoder::new(&mut shim);
if let Some(n) = self.indent {
Expand All @@ -2587,7 +2587,7 @@ mod tests {
extern crate test;
use self::Animal::*;
use self::test::Bencher;
use {Encodable, Decodable};
use crate::{Encodable, Decodable};
use super::Json::*;
use super::ErrorCode::*;
use super::ParserError::*;
Expand Down Expand Up @@ -3515,7 +3515,7 @@ mod tests {
#[test]
fn test_hashmap_with_enum_key() {
use std::collections::HashMap;
use json;
use crate::json;
#[derive(RustcEncodable, Eq, Hash, PartialEq, RustcDecodable, Debug)]
enum Enum {
Foo,
Expand Down
6 changes: 3 additions & 3 deletions src/libserialize/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Core encoding and decoding interfaces.
html_playground_url = "https://play.rust-lang.org/",
test(attr(allow(unused_variables), deny(warnings))))]

#![deny(rust_2018_idioms)]

#![feature(box_syntax)]
#![feature(core_intrinsics)]
#![feature(specialization)]
Expand All @@ -22,8 +24,6 @@ pub use self::serialize::{Decoder, Encoder, Decodable, Encodable};
pub use self::serialize::{SpecializationError, SpecializedEncoder, SpecializedDecoder};
pub use self::serialize::{UseSpecializedEncodable, UseSpecializedDecodable};

extern crate smallvec;

mod serialize;
mod collection_impls;

Expand All @@ -34,5 +34,5 @@ pub mod opaque;
pub mod leb128;

mod rustc_serialize {
pub use serialize::*;
pub use crate::serialize::*;
}
8 changes: 4 additions & 4 deletions src/libserialize/opaque.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use leb128::{self, read_signed_leb128, write_signed_leb128};
use crate::leb128::{self, read_signed_leb128, write_signed_leb128};
use std::borrow::Cow;
use serialize;
use crate::serialize;

// -----------------------------------------------------------------------------
// Encoder
Expand Down Expand Up @@ -312,7 +312,7 @@ impl<'a> serialize::Decoder for Decoder<'a> {
}

#[inline]
fn read_str(&mut self) -> Result<Cow<str>, Self::Error> {
fn read_str(&mut self) -> Result<Cow<'_, str>, Self::Error> {
let len = self.read_usize()?;
let s = ::std::str::from_utf8(&self.data[self.position..self.position + len]).unwrap();
self.position += len;
Expand All @@ -328,7 +328,7 @@ impl<'a> serialize::Decoder for Decoder<'a> {

#[cfg(test)]
mod tests {
use serialize::{Encodable, Decodable};
use crate::serialize::{Encodable, Decodable};
use std::fmt::Debug;
use super::{Encoder, Decoder};

Expand Down
2 changes: 1 addition & 1 deletion src/libserialize/serialize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ pub trait Decoder {
fn read_f64(&mut self) -> Result<f64, Self::Error>;
fn read_f32(&mut self) -> Result<f32, Self::Error>;
fn read_char(&mut self) -> Result<char, Self::Error>;
fn read_str(&mut self) -> Result<Cow<str>, Self::Error>;
fn read_str(&mut self) -> Result<Cow<'_, str>, Self::Error>;

// Compound types:
fn read_enum<T, F>(&mut self, _name: &str, f: F) -> Result<T, Self::Error>
Expand Down