Skip to content

Commit

Permalink
Merge pull request #158 from XVilka/rust2018
Browse files Browse the repository at this point in the history
Rust 2018 transition.
  • Loading branch information
chyh1990 authored Jun 1, 2020
2 parents 629a0a8 + f918e84 commit 01e5933
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 32 deletions.
3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ license = "MIT/Apache-2.0"
description = "The missing YAML 1.2 parser for rust"
repository = "https://github.com/chyh1990/yaml-rust"
readme = "README.md"
edition = "2018"

[dependencies]
linked-hash-map = ">=0.0.9, <0.6"

[dev-dependencies]
quickcheck = "0.7"
quickcheck = "0.9"
25 changes: 9 additions & 16 deletions src/emitter.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::convert::From;
use std::error::Error;
use std::fmt::{self, Display};
use yaml::{Hash, Yaml};
use crate::yaml::{Hash, Yaml};

#[derive(Copy, Clone, Debug)]
pub enum EmitError {
Expand All @@ -10,14 +10,7 @@ pub enum EmitError {
}

impl Error for EmitError {
fn description(&self) -> &str {
match *self {
EmitError::FmtError(ref err) => err.description(),
EmitError::BadHashmapKey => "bad hashmap key",
}
}

fn cause(&self) -> Option<&Error> {
fn cause(&self) -> Option<&dyn Error> {
None
}
}
Expand All @@ -38,7 +31,7 @@ impl From<fmt::Error> for EmitError {
}

pub struct YamlEmitter<'a> {
writer: &'a mut fmt::Write,
writer: &'a mut dyn fmt::Write,
best_indent: usize,
compact: bool,

Expand All @@ -48,7 +41,7 @@ pub struct YamlEmitter<'a> {
pub type EmitResult = Result<(), EmitError>;

// from serialize::json
fn escape_str(wr: &mut fmt::Write, v: &str) -> Result<(), fmt::Error> {
fn escape_str(wr: &mut dyn fmt::Write, v: &str) -> Result<(), fmt::Error> {
wr.write_str("\"")?;

let mut start = 0;
Expand Down Expand Up @@ -111,7 +104,7 @@ fn escape_str(wr: &mut fmt::Write, v: &str) -> Result<(), fmt::Error> {
}

impl<'a> YamlEmitter<'a> {
pub fn new(writer: &'a mut fmt::Write) -> YamlEmitter {
pub fn new(writer: &'a mut dyn fmt::Write) -> YamlEmitter {
YamlEmitter {
writer,
best_indent: 2,
Expand Down Expand Up @@ -316,12 +309,12 @@ fn need_quotes(string: &str) -> bool {
| '\"'
| '\''
| '\\'
| '\0'...'\x06'
| '\0'..='\x06'
| '\t'
| '\n'
| '\r'
| '\x0e'...'\x1a'
| '\x1c'...'\x1f' => true,
| '\x0e'..='\x1a'
| '\x1c'..='\x1f' => true,
_ => false,
})
|| [
Expand All @@ -344,7 +337,7 @@ fn need_quotes(string: &str) -> bool {
#[cfg(test)]
mod test {
use super::*;
use YamlLoader;
use crate::YamlLoader;

#[test]
fn test_emit_simple() {
Expand Down
8 changes: 4 additions & 4 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ pub mod scanner;
pub mod yaml;

// reexport key APIs
pub use emitter::{EmitError, YamlEmitter};
pub use parser::Event;
pub use scanner::ScanError;
pub use yaml::{Yaml, YamlLoader};
pub use crate::emitter::{EmitError, YamlEmitter};
pub use crate::parser::Event;
pub use crate::scanner::ScanError;
pub use crate::yaml::{Yaml, YamlLoader};

#[cfg(test)]
mod tests {
Expand Down
2 changes: 1 addition & 1 deletion src/parser.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use scanner::*;
use crate::scanner::*;
use std::collections::HashMap;

#[derive(Clone, Copy, PartialEq, Debug, Eq)]
Expand Down
10 changes: 5 additions & 5 deletions src/scanner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ impl Error for ScanError {
self.info.as_ref()
}

fn cause(&self) -> Option<&Error> {
fn cause(&self) -> Option<&dyn Error> {
None
}
}
Expand Down Expand Up @@ -199,7 +199,7 @@ fn is_digit(c: char) -> bool {
#[inline]
fn is_alpha(c: char) -> bool {
match c {
'0'...'9' | 'a'...'z' | 'A'...'Z' => true,
'0'..='9' | 'a'..='z' | 'A'..='Z' => true,
'_' | '-' => true,
_ => false,
}
Expand All @@ -211,9 +211,9 @@ fn is_hex(c: char) -> bool {
#[inline]
fn as_hex(c: char) -> u32 {
match c {
'0'...'9' => (c as u32) - ('0' as u32),
'a'...'f' => (c as u32) - ('a' as u32) + 10,
'A'...'F' => (c as u32) - ('A' as u32) + 10,
'0'..='9' => (c as u32) - ('0' as u32),
'a'..='f' => (c as u32) - ('a' as u32) + 10,
'A'..='F' => (c as u32) - ('A' as u32) + 10,
_ => unreachable!(),
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/yaml.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use linked_hash_map::LinkedHashMap;
use parser::*;
use scanner::{Marker, ScanError, TScalarStyle, TokenType};
use crate::parser::*;
use crate::scanner::{Marker, ScanError, TScalarStyle, TokenType};
use std::collections::BTreeMap;
use std::f64;
use std::i64;
Expand Down Expand Up @@ -368,7 +368,7 @@ impl Iterator for YamlIter {
#[cfg(test)]
mod test {
use std::f64;
use yaml::*;
use crate::yaml::*;
#[test]
fn test_coerce() {
let s = "---
Expand Down
3 changes: 1 addition & 2 deletions tests/quickcheck.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ extern crate yaml_rust;
extern crate quickcheck;

use quickcheck::TestResult;
use std::error::Error;
use yaml_rust::{Yaml, YamlEmitter, YamlLoader};

quickcheck! {
Expand All @@ -16,7 +15,7 @@ quickcheck! {
}
match YamlLoader::load_from_str(&out_str) {
Ok(output) => TestResult::from_bool(output.len() == 1 && input == output[0]),
Err(err) => TestResult::error(err.description()),
Err(err) => TestResult::error(err.to_string()),
}
}
}

0 comments on commit 01e5933

Please sign in to comment.