Commit graph

165129 commits

Author SHA1 Message Date
Dylan DPC 2ab4ad5f26
Rollup merge of #95341 - Meziu:armv6k-3ds-target, r=nagisa
ARMv6K Horizon OS has_thread_local support

cc. ```@ian-h-chamberlain```
cc. ```@AzureMarker```

Being an ARM target, it has always had built-in support for `#[thread_local]`. This PR comes in just now because we were testing `std::thread` support with `thread_local_dtor`s. This will hopefully be the last PR for the target specification, unless anymore features will be needed as time goes on.
2022-03-27 05:36:11 +02:00
Dylan DPC 178a09e672
Rollup merge of #95340 - RalfJung:pnvi, r=oli-obk
interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers)

This is required for https://github.com/rust-lang/miri/pull/2040

r? ```@oli-obk```
2022-03-27 05:36:10 +02:00
Dylan DPC 979c8e885e
Rollup merge of #95335 - Badel2:resolve-path, r=Dylan-DPC
Move resolve_path to rustc_builtin_macros and make it private

Fixing a FIXME introduced by `@jyn514` in #85457
2022-03-27 05:36:09 +02:00
Dylan DPC c6bb219fc4
Rollup merge of #93469 - compiler-errors:issue-93450, r=estebank
Skip pointing out ambiguous impls in alloc/std crates too in inference errors

This generalizes the logic in `annotate_source_of_ambiguity` to skip printing ambiguity errors traits in `alloc` and `std` as well, not just `core`.

While this does spot-fix the issue mentioned below, it would be nicer to generalize this logic, for example to detect when the trait predicate's `self_ty` has any numerical inference variables. Is it worthwhile to scrap this solution for one like that?

Fixes #93450

r? `@estebank`
feel free to reassign
2022-03-27 05:36:08 +02:00
Dylan DPC 4435bb0704
Rollup merge of #91981 - estebank:tweakaroo, r=lcnr
Recover suggestions and useful information lost in previous PR

Follow up to #91898.
2022-03-27 05:36:08 +02:00
Esteban Kuber f479e262d6 review comments and rebase 2022-03-27 02:40:07 +00:00
Esteban Kuber 1db02b8a43 Change wording of missing return type suggestion 2022-03-27 02:20:17 +00:00
Esteban Kuber b09420f95a Drive by: handle references in same_type_modulo_infer 2022-03-27 02:20:17 +00:00
Esteban Kuber 1c85987274 Point (again) to more expressions with their type, even if not fully resolved 2022-03-27 02:20:17 +00:00
Esteban Kuber c4d741fa16 Also resolve const param suggestion 2022-03-27 02:20:17 +00:00
Esteban Kuber 474626af50 Eagerly replace {integer}/{float} with i32/f64 for suggestion 2022-03-27 02:20:16 +00:00
bors 551b4fa395 Auto merge of #92472 - petrochenkov:nowrapident, r=Aaron1011
proc-macro: Stop wrapping `ident` matchers into groups

`ident` is always a single token and can be treated in the same way as `tt`.
r? `@Aaron1011`
2022-03-26 23:01:12 +00:00
bors 1d9c262eea Auto merge of #95274 - jendrikw:slice-must-use, r=Dylan-DPC
add #[must_use] to functions of slice and its iterators.

Continuation of #92853.

Tracking issue: #89692.
2022-03-26 20:17:04 +00:00
Meziu 419b6309a9
Merge pull request #16 from ian-h-chamberlain/feature/target-thread-local
Enable #[thread_local] on armv6k-nintendo-3ds
2022-03-26 20:49:19 +01:00
Ralf Jung 3bbcf64fb3 interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers) 2022-03-26 14:35:36 -04:00
Ralf Jung 78b680e14a interpret: mark a dead match arm as dead 2022-03-26 13:17:07 -04:00
Badel2 ea26d72710 Move resolve_path to rustc_builtin_macros and make it private 2022-03-26 16:47:13 +01:00
Jendrik 763094bb59 add #[must_use] to functions of slice and its iterators. 2022-03-26 16:23:55 +01:00
Jendrik 531080e8e5 add #[must_use] to functions of slice and its iterators. 2022-03-26 16:19:47 +01:00
Jendrik b0c8337d76 add #[must_use] to functions of slice and its iterators. 2022-03-26 15:47:22 +01:00
Jendrik 754fdb0aa5 add #[must_use] to functions of slice and its iterators. 2022-03-26 15:37:48 +01:00
Ian Chamberlain 78294371c4
Enable #[thread_local] on armv6k-nintendo-3ds 2022-03-26 09:29:01 -04:00
bors 1fca19c8ca Auto merge of #95326 - lupd:std-iter-doc, r=Dylan-DPC
Remove mention of `HashMap<K, V>` not offering `iter_mut`

HashMap<K, V> does offer iter_mut. Fixes #94755.

r? rust-lang/libs
`@rustbot` label +A-docs +T-libs
2022-03-26 12:01:58 +00:00
Vadim Petrochenkov baa3ad4dc8 proc-macro: Stop wrapping ident matchers into groups 2022-03-26 12:38:46 +03:00
Jendrik 5f88c23c39 add #[must_use] to functions of slice and its iterators. 2022-03-26 10:24:25 +01:00
bors bc881e83d1 Auto merge of #95306 - est31:master, r=Dylan-DPC
std::process docs: linkify references to output, spawn and status
2022-03-26 09:00:23 +00:00
dlup 15134249f4 Remove mention of HashMap<K, V> not offering iter_mut 2022-03-26 02:05:34 -04:00
bors 2882c2023d Auto merge of #95296 - workingjubilee:pretty-session, r=Dylan-DPC
Prettify rustc_session with recent conveniences

No functional changes.

I felt like making something beautiful.
2022-03-26 06:00:41 +00:00
bors d4acac935b Auto merge of #95299 - mkroening:rm-hermitkernel, r=joshtriplett
Remove hermitkernel targets

RustyHermit now maintains custom json targets, which are distributed with the kernel: https://github.com/hermitcore/libhermit-rs/pull/395

See https://github.com/hermitcore/rusty-hermit/issues/197#issuecomment-1076667961
CC: `@stlankes,` `@bstrie`
2022-03-26 03:19:49 +00:00
bors c74925438c Auto merge of #95149 - cjgillot:once-diag, r=estebank
Remove `Session::one_time_diagnostic`

This is untracked mutable state, which modified the behaviour of queries.
It was used for 2 things: some full-blown errors, but mostly for lint declaration notes ("the lint level is defined here" notes).

It is replaced by the diagnostic deduplication infra which already exists in the diagnostic emitter.
A new diagnostic level `OnceNote` is introduced specifically for lint notes, to deduplicate subdiagnostics.

As a drive-by, diagnostic emission takes a `&mut` to allow dropping the `SubDiagnostic`s.
2022-03-26 00:54:54 +00:00
bors a2ebd5a1f1 Auto merge of #95172 - GuillaumeGomez:reduce-wait-for, r=notriddle
Reduce wait-for instructions for rustdoc GUI tests

r? `@notriddle`
2022-03-25 22:16:44 +00:00
Guillaume Gomez e0a697aad4 Replace wait-for instructions for rustdoc GUI tests with wait-for-css 2022-03-25 21:32:16 +01:00
Guillaume Gomez 98d51960c4 Update browser-ui-test version to 0.8.4 2022-03-25 21:12:31 +01:00
bors d53246fedd Auto merge of #95304 - michaelwoerister:retry-finalize-session-dir, r=oli-obk
incr. comp.: Let compiler retry finalizing session directory a few times.

In my local testing this fixed issue https://github.com/rust-lang/rust/issues/86929. I wasn't able to come up with a regression test for it though.
2022-03-25 19:47:19 +00:00
bors 3fe3b89cd5 Auto merge of #95282 - RalfJung:miri, r=RalfJung
update Miri

Fixes https://github.com/rust-lang/rust/issues/95258
r? `@ghost`
2022-03-25 16:45:08 +00:00
bors 09be68c869 Auto merge of #95280 - InfRandomness:infrandomness/Dtorck_clarification, r=oli-obk
Swap DtorckConstraint to DropckConstraint

This change was made as per suspicion that this struct was never renamed after consistent use of DropCk.

This also clarifies the meaning behind the name of this structure.

Fixes https://github.com/rust-lang/rust/issues/94310
2022-03-25 14:16:13 +00:00
est31 8c0e6a8f10 std::process docs: linkify references to output, spawn and status 2022-03-25 14:41:37 +01:00
Michael Woerister e5b9430578 incr. comp.: Let compiler retry finalizing session directory a few times.
See https://github.com/rust-lang/rust/issues/86929.
2022-03-25 14:14:26 +01:00
Camille GILLOT f7d5b7afb7 Bless rustdoc tests. 2022-03-25 12:50:48 +01:00
bors 903427b2e8 Auto merge of #95255 - petrochenkov:suggresolve, r=michaelwoerister
resolve: Do not build expensive suggestions if they are not actually used

And remove a bunch of (conditionally) unused parameters from path resolution functions.

This helps with performance issues in https://github.com/rust-lang/rust/pull/94857, and should be helpful in general even without that.
2022-03-25 11:35:19 +00:00
Martin Kröning 335d196498 Remove hermitkernel targets
RustyHermit now maintains custom json targets, which are distributed with the kernel. [1]

[1]: https://github.com/hermitcore/libhermit-rs/pull/395
2022-03-25 11:52:11 +01:00
bors e70e211e99 Auto merge of #95082 - spastorino:overlap-inherent-impls, r=nikomatsakis
Overlap inherent impls

r? `@nikomatsakis`

Closes #94526
2022-03-25 09:09:48 +00:00
bors 8a0c55046c Auto merge of #95259 - nnethercote:more-macro-expansion-optimizations, r=petrochenkov
More macro expansion optimizations

A few nice wins for macro-heavy crates.

r? `@petrochenkov`
2022-03-25 06:28:58 +00:00
Jubilee Young fd2448b5fc Use a let-chain in _session::output (nfc) 2022-03-24 22:38:32 -07:00
Jubilee Young d3ca9ba123 Vigorously refactor _session::code_stats (nfc) 2022-03-24 22:38:16 -07:00
Jubilee Young de66e08957 Prettify rustc_session fmt with capturing args (nfc) 2022-03-24 22:38:13 -07:00
bors 4ce257ff19 Auto merge of #92361 - vacuus:doctest-run-test-out-lines, r=CraftSpider
Remove `collect` in `doctest::run_test`
2022-03-25 04:01:00 +00:00
Nicholas Nethercote fdec26ddad Shrink MatcherPosRepetition.
Currently it copies a `KleeneOp` and a `Token` out of a
`SequenceRepetition`. It's better to store a reference to the
`SequenceRepetition`, which is now possible due to #95159 having changed
the lifetimes.
2022-03-25 12:35:56 +11:00
Nicholas Nethercote cad5f1e774 Shrink NamedMatchVec to one inline element.
This counters the `NamedMatchVec` size increase from the previous
commit, leaving `NamedMatchVec` smaller than before.
2022-03-25 12:35:56 +11:00
Nicholas Nethercote 6817442ec7 Split NamedMatch::MatchNonterminal in two.
The `Lrc` is only relevant within `transcribe()`. There, the `Lrc` is
helpful for the non-`NtTT` cases, because the entire nonterminal is
cloned. But for the `NtTT` cases the inner token tree is cloned (a full
clone) and so the `Lrc` is of no help.

This commit splits the `NtTT` and non-`NtTT` cases, avoiding the useless
`Lrc` in the former case, for the following effect on macro-heavy
crates.
- It reduces the total number of allocations a lot.
- It increases the size of some of the remaining allocations.
- It doesn't affect *peak* memory usage, because the larger allocations
  are short-lived.

This overall gives a speed win.
2022-03-25 12:35:52 +11:00