Commit Graph

232557 Commits

Author SHA1 Message Date
bors
4a0402cd80 Auto merge of #114932 - RalfJung:miri, r=RalfJung
update Miri

r? `@ghost`
2023-08-17 14:04:37 +00:00
Urgau
1c73248b67 Revert PR #114052 to fix invalid suggestion 2023-08-17 14:33:33 +02:00
Caio
6395dc2cde [RFC-3086] Restrict the parsing of count 2023-08-17 08:52:37 -03:00
bors
23b9d9558c Auto merge of #3031 - RalfJung:foreign-read, r=RalfJung
tree borrows: more comments in foreign_read transition
2023-08-17 11:49:21 +00:00
Ralf Jung
f836cfa693 tree borrows: more comments in foreign_read transition 2023-08-17 13:48:41 +02:00
bors
44cf1745a8 Auto merge of #15473 - Veykril:doc-hidden-imports, r=Veykril
fix: Fix auto-import (and completions) importing `#[doc(hidden)]` items

Fixes https://github.com/rust-lang/rust-analyzer/issues/9197 and https://github.com/rust-lang/rust-analyzer/issues/9911

Turns out while https://github.com/rust-lang/rust-analyzer/pull/15472 didn't give access to the import stuff to the IDE layer, these can be fixed already since they use the import map which works in the hir-def crate 🎉
2023-08-17 10:49:42 +00:00
Lukas Wirth
637f496a81 fix: Fix auto-import (and completions) importing #[doc(hidden)] items 2023-08-17 12:30:19 +02:00
bors
49716e681a Auto merge of #15472 - Veykril:import-ide-support, r=Veykril
internal: Record import origins in ItemScope and PerNS

This records the import items definitions come from in the module scope (as well as what an import resolves to in an ItemScope). It does ignore glob imports as thats a lot more work for little to no gain, glob imports act as if the importing items are "inlined" into the scope which suffices for almost all use cases I believe (to my knowledge, attributes on them have little effect).

There is still a lot of work needed to make this available to the IDE layer, but this lays out the ground work for havin IDE layer support.

cc https://github.com/rust-lang/rust-analyzer/issues/14079
2023-08-17 09:56:42 +00:00
bors
bd138e2ae1 Auto merge of #114799 - RalfJung:less-transmute, r=m-ou-se
avoid transmuting Box when we can just cast raw pointers instead

Always better to avoid a transmute, in particular when the layout assumptions it is making are not clearly documented. :)
2023-08-17 09:09:29 +00:00
Lukas Wirth
a17d73ad36 Thread imports through the resolver 2023-08-17 10:52:13 +02:00
Lukas Wirth
c4e9b5ac64 Add import info to item scope dumps 2023-08-17 09:33:15 +02:00
bors
d4a881e143 Auto merge of #114922 - matthiaskrgr:rollup-qktdihi, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #112751 (rustdoc: Fixes with --test-run-directory and relative paths.)
 - #114749 (Update `mpsc::Sender` doc to reflect that it implements `Sync`)
 - #114876 (Don't ICE in `is_trivially_sized` when encountering late-bound self ty)
 - #114881 (clarify CStr lack of layout guarnatees)
 - #114921 (Remove Folyd from librustdoc static files)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-08-17 07:21:53 +00:00
Matthias Krüger
40edd35079
Rollup merge of #114921 - Folyd:Folyd-patch-1, r=compiler-errors
Remove Folyd from librustdoc static files

r?`@GuillaumeGomez`
2023-08-17 08:39:22 +02:00
Matthias Krüger
503a8fc92d
Rollup merge of #114881 - RalfJung:cstr, r=cuviper
clarify CStr lack of layout guarnatees

Follow-up to https://github.com/rust-lang/rust/pull/114800
r? `@cuviper`
2023-08-17 08:39:22 +02:00
Matthias Krüger
084c87dfea
Rollup merge of #114876 - compiler-errors:non-lifetime-binders-sized, r=wesleywiser
Don't ICE in `is_trivially_sized` when encountering late-bound self ty

We can see a bound ty var here:
b531630f42/compiler/rustc_trait_selection/src/traits/query/type_op/prove_predicate.rs (L13-L34)

Fixes #114872
2023-08-17 08:39:21 +02:00
Matthias Krüger
f4cd7a537b
Rollup merge of #114749 - gurry:issue-114722, r=thomcc
Update `mpsc::Sender` doc to reflect that it implements `Sync`

Fixes #114722
2023-08-17 08:39:21 +02:00
Matthias Krüger
da541088ef
Rollup merge of #112751 - ehuss:persist-test-run-directory, r=jsha
rustdoc: Fixes with --test-run-directory and relative paths.

Fixes #112191
Fixes #112210

This fixes some issues with `--test-run-directory` and its interaction with `--runtool` and `--persist-doctests`. Relative directories don't work with `Command::current_dir` very well because it has platform-specific behavior with relative paths. This fixes it by avoiding the use of relative paths.

This is needed because cargo is switching to use `--test-run-directory`, and it uses relative paths when interacting with rustdoc/rustc.
2023-08-17 08:39:20 +02:00
bors
aa864a7622 Auto merge of #114875 - Zalathar:line-numbers, r=ozkanonur
coverage: Anonymize line numbers in `run-coverage` test snapshots

LLVM's coverage reporter always prints line numbers in its coverage reports.

For testing purposes this is slightly inconvenient, because it means that adding or removing a line in a test file causes all subsequent lines in the snapshot to change. That makes it harder to see the actually meaningful changes in the re-blessed snapshot.

---

This change fixes that by adding another normalization pass that replaces all line numbers in the coverage reports with `LL`, which is similar to what UI tests tell the compiler to do when emitting line numbers in error messages.
2023-08-17 05:33:42 +00:00
Folyd
9a3dfd7e92
Remove Folyd from librustdoc static files 2023-08-17 12:24:28 +08:00
bors
c5833f1956 Auto merge of #114892 - Zoxc:sharded-cfg-cleanup, r=cjgillot
Remove conditional use of `Sharded` from query caches

`Sharded` is already a zero cost abstraction, so it shouldn't affect the performance of the single thread compiler if LLVM does its job.

r? `@cjgillot`
2023-08-17 01:04:38 +00:00
Zalathar
bfb16545a3 coverage: Anonymize line numbers in run-coverage test snapshots
This makes the test snapshots less sensitive to lines being added/removed.
2023-08-17 10:03:32 +10:00
bors
f3b4c6746a Auto merge of #111555 - cjgillot:elaborate-drops, r=tmiasko
Only run MaybeInitializedPlaces dataflow once to elaborate drops

This pass allows forward dataflow analyses to modify the CFG depending on the dataflow state. This possibility is used for the `MaybeInitializedPlace` analysis in drop elaboration, to skip the dataflow effect of dead unwinds without having to compute dataflow twice.
2023-08-16 23:21:17 +00:00
Nicholas Nethercote
e46caaf84b Simplify a match.
`may_be_ident` is true for `NtPath` and `NtMeta`, so we don't need to
check for them separately.
2023-08-17 09:06:03 +10:00
Nicholas Nethercote
9a3c907bdb Make some matches exhaustive in nonterminal.rs.
For ones matching more than one or two variants, this is easier to think
about.
2023-08-17 09:05:37 +10:00
Nicholas Nethercote
f8a21a5df0 Use Nonterminal::* in nonterminal.rs.
It makes the code more readable.
2023-08-17 09:05:07 +10:00
Nicholas Nethercote
acd3a5e35f Remove unnecessary braces on PatWithOr patterns. 2023-08-17 09:04:54 +10:00
Nicholas Nethercote
4ab3e9d5b9 Add a failing case to tests/ui/macros/macro-interpolation.
This test currently tests the successful paths for the
`Interpolated`/`NtTy`/`Path` case in `parse_path_inner`, but it doesn't
test the failure path.
2023-08-17 09:03:58 +10:00
Nicholas Nethercote
e8f733370f Add some useful comments to Parser::look_ahead. 2023-08-17 09:03:56 +10:00
Nicholas Nethercote
04cf6b4ac5 Rename parse_no_question_mark_recover.
Adding a `ty_` makes its purpose much clearer, and consistent with other
`parse_ty_*` functions.
2023-08-17 09:01:12 +10:00
Nicholas Nethercote
3bb85b73b5 Add helpful comments to tt_prepend_space. 2023-08-17 09:01:05 +10:00
Nicholas Nethercote
434bfc3162 Remove outdated comment.
All nonterminals collect and store tokens now. (Unless they are very
simple, e.g. single-token, and can precisely recover them without
collecting.)
2023-08-17 08:26:56 +10:00
Nicholas Nethercote
9de696b39f Remove some unnecessary (and badly named) local variables. 2023-08-17 08:26:55 +10:00
bors
07438b0928 Auto merge of #108693 - Zoxc:arena-opt-funcs, r=cjgillot
Optimize DroplessArena arena allocation

This optimizes `DroplessArena` allocation by always ensuring that it is aligned to `usize` and adding `grow_and_alloc` and `grow_and_alloc_raw`functions which both grow and allocate, reducing code size.

<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check</td><td align="right">1.6968s</td><td align="right">1.6887s</td><td align="right"> -0.48%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.2552s</td><td align="right">0.2551s</td><td align="right"> -0.03%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.9613s</td><td align="right">0.9553s</td><td align="right"> -0.62%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">1.5402s</td><td align="right">1.5374s</td><td align="right"> -0.18%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check</td><td align="right">5.9175s</td><td align="right">5.8813s</td><td align="right"> -0.61%</td></tr><tr><td>Total</td><td align="right">10.3710s</td><td align="right">10.3178s</td><td align="right"> -0.51%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9962s</td><td align="right"> -0.38%</td></tr></table>
2023-08-16 21:37:13 +00:00
Michael Goulet
2cc71ba881 Normalize return type of deduce_future_output_from_obligations 2023-08-16 14:28:19 -07:00
beetrees
072d8c8bbc
Fix suggestion for attempting to define a string with single quotes 2023-08-16 21:51:57 +01:00
bors
27fb598d51 Auto merge of #114905 - matthiaskrgr:rollup-uxhhr7p, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #113115 (we are migrating to askama)
 - #114784 (Improve `invalid_reference_casting` lint)
 - #114822 (Improve code readability by moving fmt args directly into the string)
 - #114878 (rustc book: make more pleasant to search)
 - #114899 (Add missing Clone/Debug impls to SMIR Trait related tys)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-08-16 19:51:47 +00:00
Camille GILLOT
5b2524eb03 Do not pre-compute reachable blocks. 2023-08-16 19:40:46 +00:00
Camille GILLOT
f5e4eb91b7 Use Terminator::edges for backward analysis too. 2023-08-16 19:40:46 +00:00
Camille GILLOT
94c5ea350f Update doc comment. 2023-08-16 18:15:49 +00:00
Camille GILLOT
b8fed2f21c Make dataflow const-prop handle_switch_int monotonic. 2023-08-16 18:12:18 +00:00
Camille GILLOT
e9990ce89c Only evaluate yield place after resume in liveness. 2023-08-16 18:12:18 +00:00
Camille GILLOT
7ded3409b8 Specify that method only applies statement effects. 2023-08-16 18:12:18 +00:00
Camille GILLOT
aa697f599e Rename YieldResumeEffect. 2023-08-16 18:12:18 +00:00
Camille GILLOT
388f6a6413 Make TerminatorEdge plural. 2023-08-16 18:12:18 +00:00
Camille GILLOT
6cf15d4cb5 Rename MaybeUnreachable. 2023-08-16 18:12:18 +00:00
Camille GILLOT
f19cd3f2e1 Use TerminatorEdge for dataflow-const-prop. 2023-08-16 18:12:18 +00:00
Camille GILLOT
3acfa092db Only run MaybeInitializedPlaces once for drop elaboration. 2023-08-16 18:12:18 +00:00
Camille GILLOT
5173d85043 Allow apply_terminator_effect to customize edges. 2023-08-16 18:12:17 +00:00
Camille GILLOT
32711b2b4e Introduce MaybeUnreachable. 2023-08-16 18:12:17 +00:00
Camille GILLOT
934a99eb65 Move domain_size to GenKillAnalysis. 2023-08-16 18:12:17 +00:00