Jeremy Stucki
d28832dde9
Remove needless lifetimes
2019-07-03 10:01:02 +02:00
bors
5748825cc8
Auto merge of #61682 - Centril:stabilize-type_alias_enum_variants, r=petrochenkov
...
Stabilize `type_alias_enum_variants` in Rust 1.37.0
Stabilize `#![feature(type_alias_enum_variants)]` which allows type-relative resolution with highest priority to `enum` variants in both expression and pattern contexts. For example, you may now write:
```rust
enum Option<T> {
None,
Some(T),
}
type OptAlias<T> = Option<T>;
fn work_on_alias(x: Option<u8>) -> u8 {
match x {
OptAlias::Some(y) => y + 1,
OptAlias::None => 0,
}
}
```
Closes https://github.com/rust-lang/rfcs/issues/2218
Closes https://github.com/rust-lang/rust/issues/52118
r? @petrochenkov
2019-07-01 03:11:19 +00:00
Mazdak Farrokhzad
61fae230e6
Rollup merge of #62078 - petrochenkov:nosendync2, r=varkor
...
Remove built-in derive macros `Send` and `Sync`
Closes https://github.com/rust-lang/rust/issues/62050
2019-06-25 17:15:33 +02:00
Eduard-Mihai Burtescu
e6ee8a0d44
rustc: produce AST instead of HIR from hir::lowering::Resolver methods.
2019-06-25 15:34:57 +03:00
bors
3cc3486733
Auto merge of #62075 - Centril:guardless-match-arms, r=petrochenkov
...
Remove `ast::Guard`
With the introduction of `ast::ExprKind::Let` in https://github.com/rust-lang/rust/pull/60861 , the `ast::Guard` structure is now redundant in terms of representing [`if let` guards](https://github.com/rust-lang/rust/issues/51114 ) in AST since it can be represented by `ExprKind::Let` syntactically. Therefore, we remove `ast::Guard` here.
However, we keep `hir::Guard` because the semantic representation is a different matter and this story is more unclear right now (might involve `goto 'arm` in HIR or something...).
r? @petrochenkov
2019-06-24 05:00:10 +00:00
Vadim Petrochenkov
e1d871e2d9
Remove built-in derive macros Send and Sync
2019-06-23 15:33:39 +03:00
Mazdak Farrokhzad
4d53714183
Remove redundant syntax::ast::Guard.
2019-06-23 11:32:16 +02:00
Mazdak Farrokhzad
61fc727fe0
let_chains: Fuse PatternSource::Let & ::LetExpr.
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
d51002ce07
Rollup merge of #61898 - petrochenkov:sekind, r=eddyb
...
syntax: Factor out common fields from `SyntaxExtension` variants
And some other related cleanups.
Continuation of https://github.com/rust-lang/rust/pull/61606 .
This will also help to unblock https://github.com/rust-lang/rust/pull/61877 .
2019-06-19 01:52:10 +02:00
Eduard-Mihai Burtescu
b25b466a88
rustc: remove 'x: 'y bounds (except from comments/strings).
2019-06-18 18:10:21 +03:00
Vadim Petrochenkov
e152554e11
resolve/expand: Move expansion info setting to a single earlier point
2019-06-18 11:01:20 +03:00
Vadim Petrochenkov
2de2278f1a
syntax: Move default_transparency into ExpnInfo
2019-06-18 10:48:56 +03:00
Vadim Petrochenkov
68e1141c45
resolve: Avoid creating fresh syntax extensions for all non-macro attributes
2019-06-18 10:48:56 +03:00
Vadim Petrochenkov
961ba8f9ef
syntax: Factor out common fields from SyntaxExtension variants
2019-06-18 10:48:56 +03:00
Mazdak Farrokhzad
ac94bbef55
Stabilize type_alias_enum_variants.
2019-06-15 18:35:59 +02:00
Mazdak Farrokhzad
be09427b11
Rollup merge of #61813 - matthewjasper:remove-unnecessary-symbol-ops, r=petrochenkov
...
Remove some unnecessary symbol interner ops
* Don't gensym symbols that don't need to worry about colliding with other symbols
* Use symbol constants instead of interning string literals in a few places.
* Don't generate a module in `__register_diagnostic`
r? @petrochenkov
2019-06-15 17:45:02 +02:00
Matthew Jasper
5c84cd37cb
Use sym constansts for PrimitiveTypeTable keys
2019-06-14 18:54:58 +01:00
Matthew Jasper
4e212c6ddc
Avoid some unnecessary symbol interner operations
2019-06-14 18:54:58 +01:00
bors
961a9d6e97
Auto merge of #61741 - Centril:rollup-fgro5kz, r=Centril
...
Rollup of 11 pull requests
Successful merges:
- #61518 (Add loops to doc list of things not stable in const fn)
- #61526 (move some tests into subfolders)
- #61550 (Windows 10 SDK is also required now.)
- #61606 (Remove some legacy proc macro flavors)
- #61652 (Mention slice patterns in array)
- #61686 (librustc_errors: Add some more documentation)
- #61698 (typeck: Fix const generic in repeat param ICE.)
- #61707 (Azure: retry failed awscli installs)
- #61715 (make sure make_ascii_lowercase actually leaves upper-case non-ASCII characters alone)
- #61724 (core: use memcmp optimization for 128 bit integer slices)
- #61726 (Use `for_each` in `Iterator::partition`)
Failed merges:
r? @ghost
2019-06-11 23:29:20 +00:00
Eduard-Mihai Burtescu
630ec8880c
Add deny(unused_lifetimes) to all the crates that have deny(internal).
2019-06-11 14:11:59 +03:00
Vadim Petrochenkov
93eb63c9a5
syntax: Rename variants of SyntaxExtension for consistency
2019-06-10 21:34:26 +03:00
Vadim Petrochenkov
8edbbacbca
syntax: Remove SyntaxExtension::DeclMacro
...
It's a less powerful duplicate of `SyntaxExtension::NormalTT`
2019-06-10 21:33:31 +03:00
Vadim Petrochenkov
738e14565d
syntax: Use Token in visitors and fix a mut visitor test
2019-06-06 14:04:02 +03:00
Vadim Petrochenkov
99b27d749c
syntax: Rename Token into TokenKind
2019-06-06 14:03:14 +03:00
Vadim Petrochenkov
eac3846b65
Always use token kinds through token module rather than Token type
2019-06-06 14:01:57 +03:00
Alexander Regueiro
a71d55701e
Addressed points raised in review.
2019-06-05 21:09:27 +01:00
Alexander Regueiro
dce27cba78
Enabled Self in type aliases.
2019-06-05 21:09:26 +01:00
Alexander Regueiro
35585c499f
Aggregation of drive-by cosmetic changes.
2019-06-05 21:09:26 +01:00
Nicholas Nethercote
4c9ecbf3d1
Add modernize_and_adjust methods.
...
These combine two `HygieneData::with` calls into one.
2019-06-05 09:09:35 +10:00
Nicholas Nethercote
8797e8cabd
Move modern calls inside glob_adjust and reverse_glob_adjust.
2019-06-05 07:43:14 +10:00
Eduard-Mihai Burtescu
d0c78dd7aa
syntax: revert ast::AsyncArgument and associated changes.
...
Here follows the main reverts applied in order to make this commit:
Revert "Rollup merge of #60676 - davidtwco:issue-60674, r=cramertj"
This reverts commit 45b09453db , reversing
changes made to f6df1f6c30 .
Revert "Rollup merge of #60437 - davidtwco:issue-60236, r=nikomatsakis"
This reverts commit 16939a50ea , reversing
changes made to 12bf981552 .
Revert "Rollup merge of #59823 - davidtwco:issue-54716, r=cramertj"
This reverts commit 62d1574876 , reversing
changes made to 4eff8526a7 .
2019-06-03 10:20:35 +01:00
Eduard-Mihai Burtescu
f7a4c9d7b5
rustc: collect upvars from HIR, instead of during name resolution.
2019-06-01 20:44:05 +03:00
Eduard-Mihai Burtescu
648b4d884d
rustc_resolve: never push ClosureRibKind to label_ribs.
2019-06-01 20:28:59 +03:00
Eduard-Mihai Burtescu
ed1bbbb545
rustc: remove Res::Upvar.
2019-06-01 20:28:48 +03:00
Eduard-Mihai Burtescu
340b91e2ff
rustc: remove has_parent from hir::Upvar.
2019-06-01 19:17:23 +03:00
Eduard-Mihai Burtescu
b13d0407d4
rustc: remove closure ID from Res::Upvar.
2019-06-01 19:17:23 +03:00
Eduard-Mihai Burtescu
961fe5479f
rustc: use indexmap instead of a plain vector for upvars.
2019-06-01 19:17:22 +03:00
Eduard-Mihai Burtescu
9fe0052e54
rustc: remove the closure ID from hir::Upvar's parent field.
2019-06-01 19:01:09 +03:00
Eduard-Mihai Burtescu
4b9670a245
rustc: remove the index field from Res::Upvar.
2019-06-01 19:01:09 +03:00
Eduard-Mihai Burtescu
26e61dd826
rustc: replace Res in hir::Upvar with only Local/Upvar data.
2019-06-01 19:01:09 +03:00
bors
0bfbaa6e8d
Auto merge of #61253 - nnethercote:avoid-hygiene_data-lookups, r=petrochenkov
...
Avoid `hygiene_data` lookups
These commits mostly introduce compound operations that allow two close adjacent `hygiene_data` lookups to be combined.
r? @petrochenkov
2019-05-30 16:54:13 +00:00
Nicholas Nethercote
caea42f6c8
Introduce and use SyntaxContext::outer_expn_info().
...
It reduces two `hygiene_data` accesses to one on some hot paths.
2019-05-29 09:32:56 +10:00
Nicholas Nethercote
828f6fdbe5
Introduce and use Mark::outer_is_descendant_of().
...
It reduces two `hygiene_data` accesses to one on some hot paths.
2019-05-29 09:32:56 +10:00
Eduard-Mihai Burtescu
120ce12016
Rename TraitOrImpl to Assoc and trait_or_impl to assoc.
2019-05-29 00:35:14 +03:00
Andrew Xu
46b9ed4fa1
Rename "Associated*" to "Assoc*"
...
We are going to uniform the terminology of all associated items.
Methods that may or may not have `self` are called "associated
functions". Because `AssociatedFn` is a bit long, we rename `Associated`
to `Assoc`.
2019-05-26 17:49:02 +08:00
Vadim Petrochenkov
a1885cdba3
Restore the old behavior of the rustdoc keyword check + Fix rebase
2019-05-22 20:20:12 +03:00
Vadim Petrochenkov
c389a39c97
Eliminate unnecessary Ident::with_empty_ctxts
2019-05-22 19:48:56 +03:00
Vadim Petrochenkov
59a382122f
Simplify use of keyword symbols
2019-05-22 19:48:56 +03:00
John Kåre Alsaker
a1f2dceaeb
Move edition outside the hygiene lock and avoid accessing it
2019-05-21 18:17:05 +02:00