diff --git a/src/tools/tidy/Cargo.toml b/src/tools/tidy/Cargo.toml index f5db2487618..433e9264dd1 100644 --- a/src/tools/tidy/Cargo.toml +++ b/src/tools/tidy/Cargo.toml @@ -2,6 +2,7 @@ name = "tidy" version = "0.1.0" authors = ["Alex Crichton "] +edition = "2018" [dependencies] regex = "1" diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs index 411961d70bf..e90737febd5 100644 --- a/src/tools/tidy/src/deps.rs +++ b/src/tools/tidy/src/deps.rs @@ -5,6 +5,7 @@ use std::fs; use std::path::Path; use std::process::Command; +use serde_derive::Deserialize; use serde_json; const LICENSES: &[&str] = &[ diff --git a/src/tools/tidy/src/features.rs b/src/tools/tidy/src/features.rs index 3144df6dd4c..f9f3623679e 100644 --- a/src/tools/tidy/src/features.rs +++ b/src/tools/tidy/src/features.rs @@ -18,7 +18,7 @@ use std::path::Path; use regex::{Regex, escape}; mod version; -use self::version::Version; +use version::Version; const FEATURE_GROUP_START_PREFIX: &str = "// feature-group-start"; const FEATURE_GROUP_END_PREFIX: &str = "// feature-group-end"; diff --git a/src/tools/tidy/src/features/version.rs b/src/tools/tidy/src/features/version.rs index 6027e7d35e2..1ce9fe127dd 100644 --- a/src/tools/tidy/src/features/version.rs +++ b/src/tools/tidy/src/features/version.rs @@ -31,15 +31,13 @@ impl FromStr for Version { fn from_str(s: &str) -> Result { let mut iter = s.split('.').map(|part| Ok(part.parse()?)); - let parts = { - let mut part = || { - iter.next() - .unwrap_or(Err(ParseVersionError::WrongNumberOfParts)) - }; - - [part()?, part()?, part()?] + let mut part = || { + iter.next() + .unwrap_or(Err(ParseVersionError::WrongNumberOfParts)) }; + let parts = [part()?, part()?, part()?]; + if let Some(_) = iter.next() { // Ensure we don't have more than 3 parts. return Err(ParseVersionError::WrongNumberOfParts); diff --git a/src/tools/tidy/src/lib.rs b/src/tools/tidy/src/lib.rs index 30080452edc..d06c99725bc 100644 --- a/src/tools/tidy/src/lib.rs +++ b/src/tools/tidy/src/lib.rs @@ -3,13 +3,6 @@ //! This library contains the tidy lints and exposes it //! to be used by tools. -#![deny(rust_2018_idioms)] - -extern crate regex; -extern crate serde_json; -#[macro_use] -extern crate serde_derive; - use std::fs; use std::path::Path; diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs index 66224038266..eef37190438 100644 --- a/src/tools/tidy/src/main.rs +++ b/src/tools/tidy/src/main.rs @@ -4,10 +4,8 @@ //! etc. This is run by default on `make check` and as part of the auto //! builders. -#![deny(rust_2018_idioms)] #![deny(warnings)] -extern crate tidy; use tidy::*; use std::process;