Commit Graph

95395 Commits

Author SHA1 Message Date
Mark Rousskov
38f0b90e45 Move file-reading into walker loop 2019-06-23 09:10:26 -04:00
Mark Rousskov
c113a3769d Pass contents and DirEntry to walkers 2019-06-23 09:10:26 -04:00
Mark Rousskov
5c33c3e308 Stop calling format! to check feature gate 2019-06-23 09:10:26 -04:00
Mark Rousskov
e17b02d9b9 Use walkdir crate
It's more efficient than the fs::read_dir API
2019-06-23 09:10:24 -04:00
Mark Rousskov
5f1da8e533 Cache Regex's 2019-06-23 09:10:08 -04:00
Mark Rousskov
2b6371dbfb Make tidy quieter by default 2019-06-23 09:09:44 -04:00
Vadim Petrochenkov
e1d871e2d9 Remove built-in derive macros Send and Sync 2019-06-23 15:33:39 +03:00
bors
5d677b2efd Auto merge of #60861 - Centril:let-chains-ast-intro, r=petrochenkov
[let_chains, 2/6] Introduce `Let(..)` in AST, remove IfLet + WhileLet and parse let chains

Here we remove `ast::ExprKind::{IfLet, WhileLet}` and introduce `ast::ExprKind::Let`.
Moreover, we also:
+ connect the parsing logic for let chains
+ introduce the feature gate
+ rewire HIR lowering a bit.

However, this does not connect the new syntax to semantics in HIR.
That will be the subject of a subsequent PR.

Per https://github.com/rust-lang/rust/issues/53667#issuecomment-471583239.
Next step after https://github.com/rust-lang/rust/pull/59288.

cc @Manishearth re. Clippy.

r? @oli-obk
2019-06-23 12:28:12 +00:00
Julien Cretin
0aeab41e5a Run rustfmt 2019-06-23 11:44:52 +02:00
Mazdak Farrokhzad
4d53714183 Remove redundant syntax::ast::Guard. 2019-06-23 11:32:16 +02:00
bors
a96ba96915 Auto merge of #62069 - Centril:rollup-m8n4uw7, r=Centril
Rollup of 5 pull requests

Successful merges:

 - #62047 (Trigger `unused_attribute` lint on `#[cfg_attr($pred,)]`)
 - #62049 (Fix one missing `dyn`.)
 - #62051 (Lint empty `#[derive()]` as unused attribute.)
 - #62057 (Deny explicit_outlives_requirements in the compiler)
 - #62068 (Fix meta-variable binding errors in macros)

Failed merges:

r? @ghost
2019-06-23 00:10:17 +00:00
Mazdak Farrokhzad
74380b3336
Rollup merge of #62068 - ia0:fix_meta_var, r=petrochenkov
Fix meta-variable binding errors in macros

The errors are either:
- The meta-variable used in the right-hand side is not bound (or defined) in the
  left-hand side.
- The meta-variable used in the right-hand side does not repeat with the same
  kleene operator as its binder in the left-hand side. Either it does not repeat
  enough, or it uses a different operator somewhere.

This change should have no semantic impact.

Found by https://github.com/rust-lang/rust/pull/62008
2019-06-23 01:59:20 +02:00
Mazdak Farrokhzad
07c82e183b
Rollup merge of #62057 - matthewjasper:deny-unnecessary-outlives, r=Mark-Simulacrum
Deny explicit_outlives_requirements in the compiler
2019-06-23 01:59:19 +02:00
Mazdak Farrokhzad
675ac94f8b
Rollup merge of #62051 - Centril:unused-derive-, r=petrochenkov
Lint empty `#[derive()]` as unused attribute.

Closes https://github.com/rust-lang/rust/issues/54651.

cc https://github.com/rust-lang/rust/issues/55112

r? @petrochenkov
2019-06-23 01:59:17 +02:00
Mazdak Farrokhzad
0f2f993879
Rollup merge of #62049 - crlf0710:patch-2, r=jonas-schievink
Fix one missing `dyn`.

It's in the documentation of `Unsize`.
2019-06-23 01:59:16 +02:00
Mazdak Farrokhzad
869680736d
Rollup merge of #62047 - Centril:cfg-attr-empty-lint, r=estebank
Trigger `unused_attribute` lint on `#[cfg_attr($pred,)]`

Lint on `#[cfg_attr($pred,)]` as decided in https://github.com/rust-lang/rust/issues/54881#issuecomment-441442173.

Closes https://github.com/rust-lang/rust/issues/54881.

r? @estebank
2019-06-23 01:59:15 +02:00
Mazdak Farrokhzad
c75f7ecaee let_chains: note re. back-compat wrt. expr beginning. 2019-06-23 01:41:09 +02:00
Mazdak Farrokhzad
7abb2350df let_chains: Revert 'fn with' in ast_validation. 2019-06-23 01:39:13 +02:00
Julien Cretin
b8106b59d2 Fix meta-variable binding errors in macros
The errors are either:
- The meta-variable used in the right-hand side is not bound (or defined) in the
  left-hand side.
- The meta-variable used in the right-hand side does not repeat with the same
  kleene operator as its binder in the left-hand side. Either it does not repeat
  enough, or it uses a different operator somewhere.

This change should have no semantic impact.
2019-06-23 01:30:41 +02:00
Mazdak Farrokhzad
90b9e96cc3 let_chains: More accurately describe ast::ExprKind::Let.
Co-Authored-By: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
bc72ce66a1 let_chains: Add test cases to pprust-expr-roundtrip. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
851066f57e let_chains: Fix bugs in pretty printing. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
7465eb44f0 let_chains: Refactor parse_{if,while}_expr a bit. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
5ae5086cc5 let_chains: --bless tests due to recovery in lowering. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
2017be4ef6 let_chains: Remove ast_validation logic in favor of lowering with recovery. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
10234d286a let_chains: Adjust tests for pre-expansion gating. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
eb4f54a58d let_chains: Move feature gating to pre-expansion. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
d551880267 let_chains: Inline visit_expr_with_let_maybe_allowed. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
92587e41d9 let_chains: readd kw::let to ident_can_begin_expr. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
61fc727fe0 let_chains: Fuse PatternSource::Let & ::LetExpr. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
a505d9d20a let_chains: scrutinee -> condition 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
07f37c88fb let_chains: Account for const generics in validation tests. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
a80aa34951 let_chains: Change AST validation strategy slightly. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
1ff947f596 let_chains: scrutinee -> head expression. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
3b7f0cb7e0 let_chains: Fix outdated doc-comment re. 'parse_if_expr'. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
8b72e4c815 let_chains: Improve documentation for ast::ExprKind::Let(..). 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
86250a666e let_chains: Comment out Let in ident_can_begin_expr. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
530f954e92 let_chains: Test pretty output for simple stable if-let. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
b425df0be1 let_chains: Remove redundant tests in syntax-ambiguity-*.rs. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
d45dadd951 let_chains: Add test protecting the precedence of && in relation to other things. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
6a6b07906f let_chains: Adjust unnecessary parens tests. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
c0c5791049 let_chains: Add feature gate tests. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
357b49992c let_chains: Add tests for places where let expressions aren't allowed. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
ebea1c2cc0 let_chains: Add feature gate. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
c9fb639085 let_chains: Adjust lowering logic in lieu of ::Let. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
a7b00f5807 let_chains: Handle disallowing of let chains in places lowering won't support. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
fcffac5eea let_chains: Handle in unused parenthesis lint. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
70a65e9d1f let_chains: Handle in resolve. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
dff1e379fc let_chains: Add support for parsing let expressions. 2019-06-23 01:29:29 +02:00
Mazdak Farrokhzad
3fc9642014 let_chains: Handle it in AST pretty printing. 2019-06-23 01:29:29 +02:00