Merge pull request #378 from dtolnay/doc
Document Synom::description()
diff --git a/.travis.yml b/.travis.yml
index 3f95f84..fa153d9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -44,7 +44,7 @@
;;
clippy)
cargo install clippy --debug --force || exit
- cargo clippy --features 'full fold visit visit-mut' -- -Dclippy
+ cargo clippy --all-features -- -Dclippy
;;
codegen)
(cd codegen && cargo run) &&
@@ -62,4 +62,4 @@
- ROLE=clippy
- ROLE=codegen
global:
- - RUST_MIN_STACK=16000000
+ - RUST_MIN_STACK=20000000
diff --git a/Cargo.toml b/Cargo.toml
index b447ac2..2793250 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "syn"
-version = "0.12.13" # don't forget to update html_root_url
+version = "0.12.14" # don't forget to update html_root_url
authors = ["David Tolnay <dtolnay@gmail.com>"]
license = "MIT/Apache-2.0"
description = "Nom parser for Rust source code"
@@ -33,7 +33,7 @@
[dev-dependencies]
rayon = "1.0.0"
-walkdir = "1.0.1"
+walkdir = "2"
[package.metadata.docs.rs]
all-features = true
diff --git a/src/generics.rs b/src/generics.rs
index b86f77d..13a850b 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -950,8 +950,10 @@
impl ToTokens for WhereClause {
fn to_tokens(&self, tokens: &mut Tokens) {
- self.where_token.to_tokens(tokens);
- self.predicates.to_tokens(tokens);
+ if !self.predicates.is_empty() {
+ self.where_token.to_tokens(tokens);
+ self.predicates.to_tokens(tokens);
+ }
}
}
diff --git a/src/lib.rs b/src/lib.rs
index e6e716a..ee7e8de 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -256,10 +256,10 @@
//! types.
// Syn types in rustdoc of other crates get linked to here.
-#![doc(html_root_url = "https://docs.rs/syn/0.12.13")]
+#![doc(html_root_url = "https://docs.rs/syn/0.12.14")]
#![cfg_attr(feature = "cargo-clippy",
allow(const_static_lifetime, doc_markdown, large_enum_variant, match_bool,
- redundant_closure, needless_pass_by_value))]
+ redundant_closure, needless_pass_by_value, redundant_field_names))]
extern crate proc_macro2;
extern crate proc_macro;
diff --git a/tests/common/respan.rs b/tests/common/respan.rs
index bc59965..6d1e75a 100644
--- a/tests/common/respan.rs
+++ b/tests/common/respan.rs
@@ -128,7 +128,7 @@
// default fold_fn_decl does not fold this span
FunctionRetTy::Default(span) => FunctionRetTy::Default(self.new_span(span)),
},
- variadic: variadic,
+ variadic,
}
},
)
@@ -192,7 +192,7 @@
fn fold_meta_item(&mut self, meta_item: MetaItem) -> MetaItem {
let MetaItem { name, node, span } = meta_item;
MetaItem {
- name: name,
+ name,
node: match node {
MetaItemKind::Word => MetaItemKind::Word,
MetaItemKind::List(nested) => {
diff --git a/tests/test_precedence.rs b/tests/test_precedence.rs
index 0a2ee15..6c2d74c 100644
--- a/tests/test_precedence.rs
+++ b/tests/test_precedence.rs
@@ -30,7 +30,7 @@
use rayon::iter::{IntoParallelIterator, ParallelIterator};
use syntax::ast;
use syntax::ptr::P;
-use walkdir::{DirEntry, WalkDir, WalkDirIterator};
+use walkdir::{DirEntry, WalkDir};
use std::fs::File;
use std::io::Read;
@@ -97,7 +97,7 @@
let failed = AtomicUsize::new(0);
WalkDir::new("tests/rust")
- .sort_by(|a, b| a.cmp(b))
+ .sort_by(|a, b| a.file_name().cmp(b.file_name()))
.into_iter()
.filter_entry(common::base_dir_filter)
.collect::<Result<Vec<DirEntry>, walkdir::Error>>()
@@ -162,7 +162,7 @@
let mut passed = 0;
let mut failed = 0;
- for expr in exprs {
+ syntax::with_globals(|| for expr in exprs {
let raw = quote!(#expr).to_string();
let libsyntax_ast = if let Some(e) = libsyntax_parse_and_rewrite(&raw) {
@@ -191,7 +191,7 @@
failed += 1;
errorf!("\nFAIL\n{:?}\n!=\n{:?}\n", syn_ast, libsyntax_ast);
}
- }
+ });
(passed, failed)
}
@@ -216,7 +216,7 @@
fn expr(node: ExprKind) -> P<Expr> {
P(Expr {
id: ast::DUMMY_NODE_ID,
- node: node,
+ node,
span: DUMMY_SP,
attrs: ThinVec::new(),
})
@@ -274,7 +274,7 @@
s => s,
};
- SmallVector::one(Stmt { node: node, ..stmt })
+ SmallVector::one(Stmt { node, ..stmt })
}
fn fold_mac(&mut self, mac: Mac) -> Mac {
@@ -306,7 +306,7 @@
fn paren(folder: &mut ParenthesizeEveryExpr, mut node: Expr) -> Expr {
let attrs = node.replace_attrs(Vec::new());
Expr::Paren(ExprParen {
- attrs: attrs,
+ attrs,
expr: Box::new(fold_expr(folder, node)),
paren_token: token::Paren::default(),
})
diff --git a/tests/test_round_trip.rs b/tests/test_round_trip.rs
index 527a0e2..3313acb 100644
--- a/tests/test_round_trip.rs
+++ b/tests/test_round_trip.rs
@@ -22,7 +22,7 @@
use syntax::parse::{self, PResult, ParseSess};
use syntax::codemap::FilePathMapping;
use syntax_pos::FileName;
-use walkdir::{DirEntry, WalkDir, WalkDirIterator};
+use walkdir::{DirEntry, WalkDir};
use std::fs::File;
use std::io::Read;
@@ -49,7 +49,7 @@
let failed = AtomicUsize::new(0);
WalkDir::new("tests/rust")
- .sort_by(|a, b| a.cmp(b))
+ .sort_by(|a, b| a.file_name().cmp(b.file_name()))
.into_iter()
.filter_entry(common::base_dir_filter)
.collect::<Result<Vec<DirEntry>, walkdir::Error>>()
@@ -146,5 +146,7 @@
fn libsyntax_parse(content: String, sess: &ParseSess) -> PResult<ast::Crate> {
let name = FileName::Custom("test_round_trip".to_string());
- parse::parse_crate_from_source_str(name, content, sess).map(common::respan::respan_crate)
+ syntax::with_globals(|| {
+ parse::parse_crate_from_source_str(name, content, sess).map(common::respan::respan_crate)
+ })
}
diff --git a/tests/test_token_trees.rs b/tests/test_token_trees.rs
index 398e630..0047ae2 100644
--- a/tests/test_token_trees.rs
+++ b/tests/test_token_trees.rs
@@ -93,7 +93,7 @@
pound_token: Default::default(),
bracket_token: Default::default(),
path: "test".into(),
- tts: tts,
+ tts,
is_sugared_doc: false,
}
}