Mazdak Farrokhzad
19d4e2f3e0
Rollup merge of #64035 - petrochenkov:stabmacgen, r=eddyb
...
Stabilize proc macros generating `macro_rules` items
Fn-like and attribute proc macros can now generate `macro_rules` items.
cc #54727
2019-10-15 13:27:27 +02:00
bors
437ca55f23
Auto merge of #65412 - RalfJung:miri, r=RalfJung
...
update miri
Fixes https://github.com/rust-lang/rust/issues/65356 .
2019-10-15 11:23:12 +00:00
Mazdak Farrokhzad
ae156a56d4
syntax::parse::sess -> syntax::sess
2019-10-15 09:41:58 +02:00
Mazdak Farrokhzad
79d02867b8
move parse_lit to expr.rs
2019-10-15 09:27:52 +02:00
Mazdak Farrokhzad
52d0e86b9a
syntax: extract sess.rs for ParseSess
2019-10-15 09:25:56 +02:00
Mazdak Farrokhzad
c29fe81ec4
move maybe_report_invalid_custom_discriminants to feature_gate
2019-10-15 09:22:13 +02:00
Vadim Petrochenkov
d80be3b4ff
Test basic hygiene for macro_rules
produced by transparent macros
2019-10-15 10:03:51 +03:00
Vadim Petrochenkov
b39e188dda
Stabilize proc macros generating macro_rules
items
2019-10-15 10:03:51 +03:00
Philipp Hansch
6c75e81561
Refactor: Rename db
locals to diag
...
https://github.com/rust-lang/rust/pull/64272 replaced
`DiagnosticBuilder` with `Diagnostic` in some places. This commit just
renames the DB variable from `db` to `diag` where it wasn't renamed.
2019-10-15 08:19:43 +02:00
Nicholas Nethercote
57d33b155f
Remove custom PartialEq
impls for LocalInternedString
.
...
This is on-trend with the recent changes simplifying
`LocalInternedString` and reducing its use.
2019-10-15 14:23:27 +11:00
bors
e369d87b01
Auto merge of #65422 - tmandry:rollup-r5u3mlc, r=tmandry
...
Rollup of 10 pull requests
Successful merges:
- #65170 (rustc_metadata: Privatize private code and remove dead code)
- #65260 (Optimize `LexicalResolve::expansion`.)
- #65261 (Remove `Option` from `TokenStream`)
- #65332 (std::fmt: reorder docs)
- #65340 (Several changes to the codegen backend organization)
- #65365 (Include const generic arguments in metadata)
- #65398 (Bring attention to suggestions when the only difference is capitalization)
- #65410 (syntax: add parser recovery for intersection- / and-patterns `p1 @ p2`)
- #65415 (Remove an outdated test output file)
- #65416 (Minor sync changes)
Failed merges:
r? @ghost
2019-10-15 00:54:10 +00:00
Tyler Mandry
9422feb433
Rollup merge of #65416 - spastorino:minor-sync-changes, r=Mark-Simulacrum
...
Minor sync changes
r? @Mark-Simulacrum
2019-10-14 17:52:45 -07:00
Tyler Mandry
ae5093d62d
Rollup merge of #65415 - petrochenkov:rmtest, r=varkor
...
Remove an outdated test output file
It was accidentally introduced during some rebase, but it's no longer necessary and `--bless` removes it, but it doesn't fail testing.
2019-10-14 17:52:44 -07:00
Tyler Mandry
1b182371e1
Rollup merge of #65410 - Centril:intersection-pat-recover, r=davidtwco,varkor
...
syntax: add parser recovery for intersection- / and-patterns `p1 @ p2`
Fixes https://github.com/rust-lang/rust/issues/65400 .
The recovery comes in two flavors:
1. We know that `p2` is a binding so we can invert as `p2 @ p1`:
```rust
error: pattern on wrong side of `@`
--> $DIR/intersection-patterns.rs:13:9
|
LL | Some(x) @ y => {}
| -------^^^-
| | |
| | binding on the right, should be to the left
| pattern on the left, should be to the right
| help: switch the order: `y @ Some(x)`
```
2. Otherwise we emit a generic diagnostic for the lack of support for intersection patterns:
```rust
error: left-hand side of `@` must be a binding
--> $DIR/intersection-patterns.rs:23:9
|
LL | Some(x) @ Some(y) => {}
| -------^^^-------
| | |
| | also a pattern
| interpreted as a pattern, not a binding
|
= note: bindings are `x`, `mut x`, `ref x`, and `ref mut x`
```
For more on and-patterns, see e.g. https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/pattern-matching#and-pattern .
r? @davidtwco
cc @varkor @lzutao
2019-10-14 17:52:42 -07:00
Tyler Mandry
a14e35f382
Rollup merge of #65398 - estebank:capitalization-only, r=varkor
...
Bring attention to suggestions when the only difference is capitalization
CC #65386 .
2019-10-14 17:52:41 -07:00
Tyler Mandry
8d1123d808
Rollup merge of #65365 - skinny121:const-args-metadata, r=varkor
...
Include const generic arguments in metadata
Fixes #64707
Fixes #61624
Fixes #64730
r? @varkor
2019-10-14 17:52:39 -07:00
Tyler Mandry
6241a4a108
Rollup merge of #65340 - bjorn3:cg_ssa_refactor4, r=eddyb
...
Several changes to the codegen backend organization
* Split functions from values in cg_ssa `BackendTypes`.
* Remove `is_const_integral` function from `ConstMethods`.
* Actually register the invalid monomorphization of intrinsic long diagnostic and remove the `diagnostics` method from `CodegenBackends`, as it was unused.
* Add cg_ssa and cg_utils provided methods to `default_provide`, so codegen backend don't have to do it themself.
2019-10-14 17:52:38 -07:00
Tyler Mandry
e38639fe12
Rollup merge of #65332 - RalfJung:fmt, r=cramertj
...
std::fmt: reorder docs
This moves the "Formatting Parameters" section up above right after the discussion of named and positional arguments. Then comes the "Syntax" section, summarizing the discussion of format string syntax.
And only *then* we get to "Formatting Traits" -- that section has some *huge* code examples, so it really should not interrupt the discussion of the grammar. Also users are much more likely to come here to learn about the format string grammar than to come here to learn about the `Binary` trait.
2019-10-14 17:52:37 -07:00
Tyler Mandry
6d28ed1ae6
Rollup merge of #65261 - nnethercote:rm-Option-from-TokenStream, r=petrochenkov
...
Remove `Option` from `TokenStream`
A code simplification.
r? @petrochenkov
2019-10-14 17:52:35 -07:00
Tyler Mandry
a9a4d4033d
Rollup merge of #65260 - nnethercote:optimize-LexicalResolve-expansion, r=nikomatsakis
...
Optimize `LexicalResolve::expansion`.
A win for `unicode_normalization`.
r? @nikomatsakis
2019-10-14 17:52:33 -07:00
Tyler Mandry
d2f87e384f
Rollup merge of #65170 - petrochenkov:cload, r=eddyb
...
rustc_metadata: Privatize private code and remove dead code
Also some minor cleanup and documentation improvements.
r? @eddyb
2019-10-14 17:52:32 -07:00
Tyler Mandry
802554f427
Only expand types that contain projections
2019-10-14 15:48:36 -07:00
Tyler Mandry
fe09bb518d
Add expanded type cache to OpaqueTypeExpander
2019-10-14 15:48:36 -07:00
Esteban Küber
8bf6d35377
Tweak heuristics for less noise
2019-10-14 14:48:45 -07:00
John Kåre Alsaker
b6a5740117
Use more fine grained locks for the dep graph
2019-10-14 23:35:35 +02:00
Esteban Küber
6dd718ca79
Use heuristics for capitalization warning in suggestions
2019-10-14 14:32:10 -07:00
Georg Semmler
77f0aaf0d0
Add more coherence tests
2019-10-14 23:14:09 +02:00
Santiago Pastorino
b9bc431bd2
Rename serial_join and serial_scope to join and scope
2019-10-14 18:05:07 -03:00
Santiago Pastorino
83560225ad
Move serial_scope and serial_join to parallel_compiler = false
2019-10-14 18:05:07 -03:00
Santiago Pastorino
068a8d163c
Minor comment tweaks
2019-10-14 18:05:07 -03:00
Vadim Petrochenkov
34bcfcabcc
Remove an outdated test output file
2019-10-14 21:35:49 +03:00
ben
eb68bbb2b0
Include const generic arguments in metadata.
2019-10-15 07:24:19 +13:00
Mazdak Farrokhzad
16266a5405
pprust: p1@p2
-> p1 @ p2
2019-10-14 18:12:04 +02:00
Mazdak Farrokhzad
3a9f8deb1d
recover_intersection_pat: adjust wording
2019-10-14 18:02:49 +02:00
Ralf Jung
4977e319a4
update miri
2019-10-14 17:59:45 +02:00
bors
e413dc36a8
Auto merge of #64987 - oli-obk:code_reuse_prevents_bugs, r=eddyb
...
Compute the layout of uninhabited structs
fixes #64506
r? @eddyb
2019-10-14 15:52:51 +00:00
Mazdak Farrokhzad
72ad8f716b
syntax: use PatKind::Wild
as our ::Err
equivalent.
2019-10-14 17:25:50 +02:00
Mazdak Farrokhzad
a77a8aaa2e
syntax: add test for intersection pattern parser recovery
2019-10-14 17:08:13 +02:00
Mazdak Farrokhzad
29fb07d245
syntax: add recovery for intersection patterns p1 @ p2
2019-10-14 17:08:13 +02:00
Vadim Petrochenkov
f5baad2b5e
rustc_metadata: Remove resolutions for extern crate items from CStore
...
Use a more traditional scheme with providing them as a resolver output
2019-10-14 18:05:45 +03:00
Vadim Petrochenkov
e843d867e6
rustc_metadata: Crate loader is immutable
2019-10-14 18:05:45 +03:00
Vadim Petrochenkov
2805553dd8
rustc_metadata: Improve documentation of CrateMetadata
2019-10-14 18:05:45 +03:00
Vadim Petrochenkov
b476f2fa4e
rustc_metadata: Use CrateSource
where appropriate
2019-10-14 18:05:45 +03:00
Vadim Petrochenkov
e8c28e24b9
rustc_metadata: Privatize private code and remove dead code
2019-10-14 18:05:45 +03:00
Guillaume Gomez
d4e3e6bc15
Delete extra file
2019-10-14 13:01:12 +02:00
bors
446e5e57b6
Auto merge of #65399 - Centril:rollup-6lzj0w5, r=Centril
...
Rollup of 7 pull requests
Successful merges:
- #65215 (Add long error explanation for E0697)
- #65292 (Print lifetimes with backticks)
- #65362 (syntax: consolidate function parsing in item.rs)
- #65363 (Remove implicit dependencies on syntax::pprust)
- #65379 (refactor session::config::build_session_options_and_crate_config)
- #65392 (Move `Nonterminal::to_tokenstream` to parser & don't rely directly on parser in lowering)
- #65395 (Add some tests for fixed ICEs)
Failed merges:
r? @ghost
2019-10-14 10:00:51 +00:00
Guillaume Gomez
65458190c5
Unification and cleanup of librustc_mir error codes
2019-10-14 11:06:20 +02:00
Guillaume Gomez
c6de3ebd69
Uncomment E0386 to let users have access to its old definition
2019-10-14 11:06:20 +02:00
Guillaume Gomez
307a3569c5
Sort long error code explanation by error code
2019-10-14 11:06:20 +02:00
Michael Woerister
f81b1548dd
Add troubleshooting section to PGO chapter in rustc book.
2019-10-14 10:34:21 +02:00