| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Minor sync changes
r? @Mark-Simulacrum
|
|
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.
|
|
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
|
|
Bring attention to suggestions when the only difference is capitalization
CC #65386.
|
|
Include const generic arguments in metadata
Fixes #64707
Fixes #61624
Fixes #64730
r? @varkor
|
|
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.
|
|
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.
|
|
Remove `Option` from `TokenStream`
A code simplification.
r? @petrochenkov
|
|
r=nikomatsakis
Optimize `LexicalResolve::expansion`.
A win for `unicode_normalization`.
r? @nikomatsakis
|
|
rustc_metadata: Privatize private code and remove dead code
Also some minor cleanup and documentation improvements.
r? @eddyb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Compute the layout of uninhabited structs
fixes #64506
r? @eddyb
|
|
|
|
|
|
|
|
Use a more traditional scheme with providing them as a resolver output
|
|
|
|
|
|
|
|
|
|
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
|
|
Add some tests for fixed ICEs
Fixes #44153 (from 1.23.0)
Fixes #47486 (from 1.36.0)
Fixes #48010 (from 1.38.0)
Fixes #48027 (from nightly)
Fixes #48638 (from nightly)
|
|
Move `Nonterminal::to_tokenstream` to parser & don't rely directly on parser in lowering
Split out from https://github.com/rust-lang/rust/pull/65324.
r? @petrochenkov
|
|
refactor session::config::build_session_options_and_crate_config
I'm not exactly sure what happened in https://github.com/rust-lang/rust/pull/65361#issuecomment-541420179 so in an effort to bisect the error I'm extracting out the first commit so it can hopefully land (I suspect the error is in the 2nd-3rd commits.)
r? @petrochenkov
(I'll r=you when the PR builder is happy)
|
|
Remove implicit dependencies on syntax::pprust
Part of https://github.com/rust-lang/rust/pull/65324.
The main goal here is to facilitate the eventual move of pprust out from libsyntax and because an AST definition typically should not depend on its pretty printer.
r? @estebank
|
|
syntax: consolidate function parsing in item.rs
Extracted from https://github.com/rust-lang/rust/pull/65324.
r? @estebank
|
|
Print lifetimes with backticks
Fixes #65287
r? @varkor
|
|
Add long error explanation for E0697
Part of #61137
r? @GuillaumeGomez
|
|
|
|
|
|
|
|
|
|
|
|
self-profiling: Add events for metadata loading (plus a small dep-tracking optimization)
This PR
- adds self-profiling events related to loading things from crate metadata
- makes the compiler cache the `DepNodeIndex` of upstream crates, so that they don't have to be looked up over and over.
The commits are best reviewed in isolation.
Self-profiling tracking issue: https://github.com/rust-lang/rust/issues/58967
r? @Mark-Simulacrum
cc @wesleywiser
|
|
|
|
This avoids some unnecessary creation of empty token streams.
|
|
|
|
It means an allocation is required to create an empty `TokenStream`, but
all other operations are simpler and marginally faster due to not having
to check for `None`. Overall it simplifies the code for a negligible
performance effect.
The commit also removes `TokenStream::empty` by implementing `Default`,
which is now possible.
|
|
Revert "Auto merge of #64823 - cuviper:min-std, r=Mark-Simulacrum"
This reverts commit 000d90b11f7be70ffb7812680f7abc6deb52ec88, reversing
changes made to 898f36c83cc28d7921a1d7b3605323dc5cfcf533.
This turned out to break quite a few targets, cc https://github.com/rust-lang/rust/issues/65335
|
|
|