212239 Commits

Author SHA1 Message Date
Nicholas Nethercote
890c5ead20 Merge builtins into LateLintPassObjects.
This avoids calling the `late_lint_{mod_pass,pass_crate}` twice.
2022-12-02 13:59:28 +11:00
Nicholas Nethercote
99e9c1ddb7 Remove six macros relating to lint definitions.
These were enabled by the removal of `-Zno-interleave-lints`.
2022-12-02 13:59:28 +11:00
Nicholas Nethercote
67cfe2cfbb Remove -Zno-interleave-lints.
Because it complicates lint implementation greatly.
2022-12-02 13:59:28 +11:00
Nicholas Nethercote
33faf01690 Eliminate four unnecessary lint macros.
The lint definitions use macros heavily. This commit merges some of them
that are split unnecessarily. I find the reduced indirection makes it
easier to imagine what the generated code will look like.
2022-12-02 13:59:28 +11:00
Jakob Degen
f4f777772e Disable top-down inlining 2022-12-01 18:32:45 -08:00
Michael Howell
efdec6d093 rustdoc: clean up help and settings button CSS
The old version of this code specified a bunch of different numbers that had
to line up just right to get the size it wanted. This version uses flexbox
centering, specifies the font size, and lets the browser figure out the
rest of the layout automatically.
2022-12-01 14:24:33 -07:00
bors
56c241c862 Auto merge of #105140 - flip1995:clippyup, r=Manishearth
Update Clippy

r? `@Manishearth`
2022-12-01 20:57:23 +00:00
Michael Howell
6ab34f49f0 rustdoc: clean up button-hiding mobile CSS 2022-12-01 13:44:28 -07:00
Oli Scherer
e59025867d Create a hacky fail-fast mode that stops tests at the first failure 2022-12-01 20:29:18 +00:00
Michael Howell
935def4df1 rustdoc: use simpler CSS for setting the font on scraped examples 2022-12-01 12:34:02 -07:00
Michael Goulet
02b64c5d26 Document normalization methods on At 2022-12-01 19:00:09 +00:00
Michael Goulet
e45daa9856 Drive-by: remove unused type alias 2022-12-01 19:00:09 +00:00
Gary Guo
171b7d62ad Make inline const block ExprWithBlock 2022-12-01 17:54:50 +00:00
bors
c090c6880c Auto merge of #105125 - matthiaskrgr:rollup-fr0snmj, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #105078 (Fix `expr_to_spanned_string` ICE)
 - #105087 (Extract llvm datalayout parsing out of spec module)
 - #105088 (rustdoc: remove redundant CSS `div.desc { display: block }`)
 - #105106 (Fix ICE from #105101)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-12-01 17:47:12 +00:00
Maybe Waffle
083ef45458 rustc_data_structures deref in a more humane way 2022-12-01 17:34:45 +00:00
Maybe Waffle
f2b97a8bfe Remove useless borrows and derefs 2022-12-01 17:34:43 +00:00
Philipp Krones
ebf579932d
Merge commit 'd822110d3b5625b9dc80ccc442e06fc3cc851d76' into clippyup 2022-12-01 18:29:38 +01:00
Vadim Petrochenkov
b32a4edb20 rustc_ast_lowering: Stop lowering imports into multiple items
Lower them into a single item with multiple resolutions instead.
This also allows to remove additional `NodId`s and `DefId`s related to those additional items.
2022-12-01 18:51:20 +03:00
Vadim Petrochenkov
1f259ae679 rustc_hir: Change representation of import paths to support multiple resolutions 2022-12-01 18:51:05 +03:00
Ralf Jung
b7f2b1cd5c clarify comment on Deref promotion 2022-12-01 16:42:33 +01:00
Andrius Pukšta
0af5b7265d
Add tracking issue for file_create_new 2022-12-01 17:42:31 +02:00
Guillaume Gomez
188f31eba0 Add GUI test for toggle filter and opacity 2022-12-01 15:58:16 +01:00
Guillaume Gomez
f76c4b84c9 Migrate summary toggle filter to CSS variable 2022-12-01 15:55:09 +01:00
bors
4a12a13b58 Auto merge of #2707 - oli-obk:ui_test_bump, r=RalfJung
Bump ui_test crate

All commands can now be revisioned: https://github.com/oli-obk/ui_test/pull/33
2022-12-01 14:51:45 +00:00
Oli Scherer
e8ff9b1836 Bump ui_test crate 2022-12-01 14:43:29 +00:00
bors
367ecffe52 Auto merge of #105003 - flba-eb:only_windows, r=Mark-Simulacrum
Run Windows-only tests only on Windows

This removes the need to maintain an ignore-list of all other OSs.

See https://github.com/rust-lang/rust/pull/102305 for a similar change.
2022-12-01 14:27:34 +00:00
Vadim Petrochenkov
6cd4dd3091 rustc_hir: Relax lifetime requirements on Visitor::visit_path 2022-12-01 17:04:02 +03:00
Florian Bartels
c04d67444f Ignore gnu systems (windows-msvc only) 2022-12-01 14:40:10 +01:00
bors
d822110d3b Auto merge of #10010 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2022-12-01 13:21:51 +00:00
Philipp Krones
4063712bf4
Bump nightly version -> 2022-12-01 2022-12-01 12:55:29 +01:00
Philipp Krones
11434f270f
Merge remote-tracking branch 'upstream/master' into rustup 2022-12-01 12:55:15 +01:00
Markus Everling
c959fbe771 Fix typo in comment 2022-12-01 12:44:29 +01:00
Markus Everling
929003aacf Make VecDeque::new_in unstably const 2022-12-01 12:15:29 +01:00
Matthias Krüger
ee9eaa695c
Rollup merge of #105106 - jhpratt:issue-105101, r=TaKO8Ki
Fix ICE from #105101

Fixes #105101

Rather than comparing idents, compare spans, which should be unique to each variant.
2022-12-01 11:59:01 +01:00
Matthias Krüger
3ec9a6dd74
Rollup merge of #105088 - notriddle:notriddle/search-results-div-desc, r=GuillaumeGomez
rustdoc: remove redundant CSS `div.desc { display: block }`

DIV tags have block display by default. It is from when this rule used to target a SPAN tag, but became redundant in 4bd6748bb9b73c210558498070ae0b7ed8193ddf.
2022-12-01 11:59:00 +01:00
Matthias Krüger
adec7eeb17
Rollup merge of #105087 - HKalbasi:master, r=eddyb
Extract llvm datalayout parsing out of spec module

fix https://github.com/rust-lang/rust/pull/103693#discussion_r1033250846
2022-12-01 11:59:00 +01:00
Matthias Krüger
741f8c9166
Rollup merge of #105078 - TaKO8Ki:fix-105011, r=nnethercote
Fix `expr_to_spanned_string` ICE

Fixes #105011
2022-12-01 11:58:59 +01:00
bors
9c0bc3028a Auto merge of #104975 - JakobDegen:custom_mir_let, r=oli-obk
`#![custom_mir]`: Various improvements

This PR makes a bunch of improvements to `#![custom_mir]`. Ideally this would be 4 PRs, one for each commit, but those would take forever to get merged and be a pain to juggle. Should still be reviewed one commit at a time though.

### Commit 1: Support arbitrary `let`

Before this change, all locals used in the body need to be declared at the top of the `mir!` invocation, which is rather annoying. We attempt to change that.

Unfortunately, we still have the requirement that the output of the `mir!` macro must resolve, typecheck, etc. Because of that, we can't just accept this in the THIR -> MIR parser because something like
```rust
{
    let x = 0;
    Goto(other)
}
other = {
    RET = x;
    Return()
}
```
will fail to resolve. Instead, the implementation does macro shenanigans to find the let declarations and extract them as part of the `mir!` macro. That *works*, but it is fairly complicated and degrades debuginfo by quite a bit. Specifically, the spans for any statements and declarations that are affected by this are completely wrong. My guess is that this is a net improvement though.

One way to recover some of the debuginfo would be to not support type annotations in the `let` statements, which would allow us to parse like `let $stmt:stmt`. That seems quite surprising though.

### Commit 2: Parse consts

Reuses most of the const parsing from regular Mir building for building custom mir

### Commit 3: Parse statics

Statics are slightly weird because the Mir primitive associated with them is a reference/pointer to them, so this is factored out separately.

### Commit 4: Fix some spans

A bunch of the spans were non-ideal, so we adjust them to be much more helpful.

r? `@oli-obk`
2022-12-01 10:40:10 +00:00
Oli Scherer
ab75d777de Fill in def_span when creating def ids.
This makes sure that ICEing because of def ids created outside of ast lowering will be able to produce a query backtrace and not cause a double panic because of trying to call the  `def_span` query
2022-12-01 10:33:28 +00:00
nils
efea79ca80
Gate macros behind #[cfg(not(bootstrap))]
Co-authored-by: Takayuki Maeda <takoyaki0316@gmail.com>
2022-12-01 11:16:18 +01:00
Oli Scherer
a0bdb4b498 Don't allow feeding a query cache entry twice 2022-12-01 09:48:33 +00:00
bors
623b4aba6c Auto merge of #2699 - RalfJung:schedule-refactor, r=RalfJung
refactor scheduler

Refactors the scheduler to use something akin to a generator -- a callback that will be invoked when the stack of a thread is empty, which has the chance to push a new stack frame or do other things and then indicates whether this thread is done, or should be scheduled again. (Unfortunately I think we [cannot use actual generators](https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Generators.20that.20borrow.20on.20each.20resume.3F) here.) The interpreter loop is now a proper infinite loop, the only way to leave it is for some kind of interrupt to be triggered (represented as `InterpError`) -- unifying how we handle 'exit when calling `process::exit`' and 'exit when main thread quits'.

The last commit implements an alternative approach to https://github.com/rust-lang/miri/pull/2660 using this new structure. Fixes https://github.com/rust-lang/miri/issues/2629.
2022-12-01 09:08:06 +00:00
Oli Scherer
4f593ce5d8 Create format_args as late as possible 2022-12-01 08:49:51 +00:00
Oli Scherer
66797fa54f Remove needless Cow 2022-12-01 08:38:47 +00:00
Oli Scherer
c2166ec628 Don't go through the formatting infrastructure just to get the name of a phase 2022-12-01 08:31:54 +00:00
bors
641ced4eb9 Auto merge of #10007 - Jarcho:issue_10005, r=giraffate
Fix ICE in `result_large_err` with uninhabited enums

fixes #10005
changelog: `result_large_err`: Fix ICE with uninhabited enums
2022-12-01 07:20:06 +00:00
bors
d6c4de0fb2 Auto merge of #104861 - nnethercote:attr-cleanups, r=petrochenkov
Attribute cleanups

Best reviewed one commit at a time.

r? `@petrochenkov`
2022-12-01 07:13:45 +00:00
Tomoaki Kawada
f482e55adf kmc-solid: Address compiler warnings
Addresses the warn-by-default lints `unused_imports` and
`unused_unsafe`.
2022-12-01 13:18:05 +09:00
Tomoaki Kawada
47f2f6d615 kmc-solid: Add a stub implementation of is_terminal
Copied from `unsupported/io.rs`. Fixes build failure.
2022-12-01 13:18:05 +09:00
Tomoaki Kawada
427a079d31 kmc-solid: Use expose_addr and from_exposed_addr for pointer-integer casts
Pointer-integer casts are required for conversion between `EXINF` (ITRON
task entry point parameter) and `*const ThreadInner`. Addresses the
deny-level lint `fuzzy_provenance_casts`.
2022-12-01 13:18:05 +09:00