Commit Graph

9096 Commits

Author SHA1 Message Date
Mazdak Farrokhzad 15b5aacab6 Rollup merge of #63146 - Mark-Simulacrum:clean-attr, r=petrochenkov
Cleanup syntax::attr

Mostly removing needless arguments to constructors

r? @petrochenkov
2019-08-03 13:11:59 +02:00
Mazdak Farrokhzad 42a3281275 Rollup merge of #62954 - ia0:fix_typo_span, r=Centril
Fix typo in Delimited::open_tt
2019-08-03 13:11:57 +02:00
bors d7270712cb Auto merge of #63180 - varkor:trait-alias-impl-trait, r=Centril
Change opaque type syntax from `existential type` to type alias `impl Trait`

This implements a new feature gate `type_alias_impl_trait` (this is slightly different from the originally proposed feature name, but matches what has been used in discussion since), deprecating the old `existential_types` feature.

The syntax for opaque types has been changed. In addition, the "existential" terminology has been replaced with "opaque", as per previous discussion and the RFC.

This makes partial progress towards implementing https://github.com/rust-lang/rust/issues/63063.

r? @Centril
2019-08-03 02:21:23 +00:00
Mazdak Farrokhzad f6d8977fbb Rollup merge of #63212 - Centril:param-attrs-pretty, r=davidtwco
Pretty print attributes in `print_arg`

Fixes https://github.com/rust-lang/rust/issues/63210.
cc https://github.com/rust-lang/rust/issues/60406

r? @petrochenkov
2019-08-03 00:09:12 +02:00
bors cf048cc115 Auto merge of #63207 - petrochenkov:outest2, r=Mark-Simulacrum
Unconfigure compiler unit test files during normal build

I haven't touched libstd though, it had a lot of tests and I'm not sure the people maintaining it want this.

Closes https://github.com/rust-lang/rust/issues/61097
r? @Mark-Simulacrum
2019-08-02 15:22:50 +00:00
Mazdak Farrokhzad 3396550420 Rollup merge of #63202 - exphp-forks:parser-ice-63135, r=estebank
Fix ICE in #63135

Closes #63135.

r?@estebank
2019-08-02 12:14:21 +02:00
Mazdak Farrokhzad 89dce46efd Rollup merge of #63198 - rbartlensky:fix-macro-trailing-comma, r=petrochenkov
Allow trailing comma in macro 2.0 declarations.

This should hopefully close #63102.
2019-08-02 12:14:20 +02:00
Mazdak Farrokhzad dbfe12daed Rollup merge of #63189 - waywardmonkeys:doc-improvements, r=Centril
Doc improvements

Miscellaneous documentation fixes.
2019-08-02 12:14:18 +02:00
Mazdak Farrokhzad dd98727541 Print outer attributes on formal params. 2019-08-02 09:34:49 +02:00
Mazdak Farrokhzad 875cef0324 Cleanup 'print_generic_params'. 2019-08-02 08:36:08 +02:00
varkor c28ce3e4ca Replace "existential" by "opaque" 2019-08-02 02:44:36 +01:00
varkor 87738fe834 Switch existential_type to type_alias_impl_trait 2019-08-02 02:44:35 +01:00
Vadim Petrochenkov 62ec2cb7ac Remove some more cfg(test)s 2019-08-02 02:40:01 +03:00
Vadim Petrochenkov 310b9fc760 libsyntax: Unconfigure tests during normal build 2019-08-02 01:59:01 +03:00
Michael Lamparski b3321fb26e Fix ICE in #63135 2019-08-01 17:34:00 -04:00
Robert Bartlensky cefbf4d7b5 Allow trailing comma in macro 2.0 declarations. 2019-08-01 21:07:47 +01:00
Bruce Mitchener 86633b6389 Fix typos in doc comments. 2019-08-02 01:36:36 +07:00
Pietro Albini 7a7fcad675 Rollup merge of #63170 - matklad:cleanup-fields, r=petrochenkov
cleanup StringReader fields

reduce visibility and replace `Lrc<SourceFile>` with `start_pos`: the single bit we actually *need* from the file.

r? @petrochenkov
2019-08-01 16:00:29 +02:00
Pietro Albini 810ffe2ba0 Rollup merge of #63122 - Centril:fix-63115, r=petrochenkov
Account for `maybe_whole_expr` in range patterns

Fixes https://github.com/rust-lang/rust/issues/63115 (fallout from https://github.com/rust-lang/rust/pull/62550).

r? @petrochenkov
2019-08-01 16:00:26 +02:00
Mazdak Farrokhzad 6551285cca Address review comments. 2019-07-31 21:25:11 +02:00
Aleksey Kladov 3f461f5ec6 cleanup StringReader fields 2019-07-31 20:25:10 +03:00
Mark Rousskov c146344e32 Decode AttrId via mk_attr_id 2019-07-31 08:55:37 -04:00
Mark Rousskov d4227f6e0d Use Ident::new over setting span position via builder 2019-07-31 08:55:37 -04:00
Mark Rousskov 0f985817bd Replace AstBuilder with inherent methods 2019-07-31 08:55:37 -04:00
Mark Rousskov c9bd4a05bf Replace a few Attribute constructors with mk_attr 2019-07-31 08:55:37 -04:00
Mark Rousskov f78bf50dec Remove span argument from mk_attr_{inner,outer}
Always the same as the passed MetaItem
2019-07-31 08:55:37 -04:00
Mark Rousskov b2c5065b04 Remove Span argument from ExtCtxt::attribute
MetaItem.span was always equivalent
2019-07-31 08:55:37 -04:00
Mark Rousskov 0a42badd4c Remove AttrId from Attribute constructors 2019-07-31 08:55:37 -04:00
Mark Rousskov 804f0f3c20 Unify spanned and non-spanned Attribute ctors
There is no difference in the code/arguments, so go with the shorter
name throughout the code.
2019-07-31 08:55:36 -04:00
Mazdak Farrokhzad dbf54ad324 Rollup merge of #63095 - Centril:incomplete-features-lint, r=varkor
Turn `INCOMPLETE_FEATURES` into lint

We do this because it is annoying to see the warning when building rustc and because this is better from a "separation of concerns" POV.

The drawback to this change is that this will respect `--cap-lints`.
Also note that this is not a buffered lint so if there are fatal parser errors then the lint will not trigger.

r? @varkor
2019-07-30 22:43:34 +02:00
Mazdak Farrokhzad b21f0a313e Pacify tidy, the merciless. 2019-07-30 10:55:45 +02:00
Mazdak Farrokhzad 758931948f Unsupport the await!(..) macro. 2019-07-30 10:55:45 +02:00
Mazdak Farrokhzad dcc4b994b9 Turn INCOMPLETE_FEATURES into a lint. 2019-07-30 10:32:43 +02:00
Mazdak Farrokhzad 36029878e7 Rollup merge of #62928 - Centril:recover-parens-around-for-head, r=estebank
Syntax: Recover on `for ( $pat in $expr ) $block`

Fixes #62724 by adding some recovery:

```
error: unexpected closing `)`
  --> $DIR/recover-for-loop-parens-around-head.rs:10:23
   |
LL |     for ( elem in vec ) {
   |         --------------^
   |         |
   |         opening `(`
   |         help: remove parenthesis in `for` loop: `elem in vec`
```

The last 2 commits are drive-by cleanups.

r? @estebank
2019-07-30 05:37:32 +02:00
Mazdak Farrokhzad f3a3290ba3 Account for maybe_whole_expr in range patterns. 2019-07-30 04:22:09 +02:00
Mazdak Farrokhzad f8321d0d97 Rollup merge of #63092 - Centril:update-impl-trait-gates, r=varkor
Update `impl Trait` gate issues

cc https://github.com/rust-lang/rust/issues/63065
cc https://github.com/rust-lang/rust/issues/63063

r? @varkor cc @alexreg
2019-07-29 02:11:00 +02:00
Mazdak Farrokhzad 7f2c3e1723 Rollup merge of #63077 - petrochenkov:nolangfeat, r=petrochenkov
cleanup: Remove some language features related to built-in macros

They are now library features.
Cleanup after https://github.com/rust-lang/rust/pull/62086.
The unstable book files are moved because tidy complained.
2019-07-29 02:10:57 +02:00
Mazdak Farrokhzad 2a49dd0db6 Update existential_type + impl_trait_in_bindings issue numbers. 2019-07-29 00:09:18 +02:00
bors c7312fe4ff Auto merge of #63090 - Centril:rollup-xnjwm2h, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #61856 (Lint attributes on function arguments)
 - #62360 (Document that ManuallyDrop::drop should not called more than once)
 - #62392 (Update minifier-rs version)
 - #62871 (Explicit error message for async recursion.)
 - #62995 (Avoid ICE when suggestion span is at Eof)
 - #63053 (SystemTime docs: recommend Instant for elapsed time)
 - #63081 (tidy: Cleanup the directory whitelist)
 - #63088 (Remove anonymous_parameters from unrelated test)

Failed merges:

r? @ghost
2019-07-28 20:22:42 +00:00
Mazdak Farrokhzad a4cd2ecab2 Rollup merge of #61856 - c410-f3r:attrs-fn, r=matthewjasper
Lint attributes on function arguments

Fixes #61238.

cc #60406
2019-07-28 21:19:50 +02:00
Mazdak Farrokhzad 56b39fba56 Add 'span_to_snippet' shortcut. 2019-07-28 20:43:09 +02:00
Mazdak Farrokhzad 1b118607ec Use chaining for diagnosics in parser. 2019-07-28 20:43:09 +02:00
Mazdak Farrokhzad dfad725be5 Recover 'for ( $pat in $expr ) $block'. 2019-07-28 20:43:09 +02:00
Vadim Petrochenkov 676d282dd3 Deny unused_lifetimes through rustbuild 2019-07-28 18:47:02 +03:00
Vadim Petrochenkov 434152157f Remove lint annotations in specific crates that are already enforced by rustbuild
Remove some random unnecessary lint `allow`s
2019-07-28 18:46:24 +03:00
Vadim Petrochenkov b92697b8fb cleanup: Remove some language features related to built-in macros
They are now library features.
2019-07-28 14:14:48 +03:00
Mazdak Farrokhzad 75e23ff411 Rollup merge of #62550 - Centril:rest-patterns, r=petrochenkov
Implement RFC 2707 + Parser recovery for range patterns

Implement https://github.com/rust-lang/rfcs/pull/2707.

- Add a new basic syntactic pattern form `ast::PatKind::Rest` (parsed as `..` or `DOTDOT`) and simplify `ast::PatKind::{Slice, Tuple, TupleStruct}` as a result.

- Lower `ast::PatKind::Rest` in combination with the aforementioned `PatKind` variants as well as `PatKind::Ident`. The HIR remains unchanged for now (may be advisable to make slight adjustments later).

- Refactor `parser.rs` wrt. parsing sequences and lists of things in the process.

- Add parser recovery for range patterns of form `X..`, `X..=`, `X...`, `..Y`, `..=Y`, and `...Y`.
   This should make it easy to actually support these patterns semantically later if we so desire.

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

r? @petrochenkov
2019-07-28 11:11:04 +02:00
Mazdak Farrokhzad becdba80ea Address comments in lowering + parsing. 2019-07-28 06:53:39 +02:00
Mazdak Farrokhzad 2f55354759 Recover on 'X..' / 'X..=' / 'X...' range patterns. 2019-07-28 06:53:38 +02:00
Mazdak Farrokhzad 974413fcc5 Recover on '..X' / '..=X' / '...X' range patterns. 2019-07-28 06:53:38 +02:00