Pietro Albini
9de3c29319
add support for blessing panic=abort mir-opt tests
2023-06-12 09:34:12 +02:00
Pietro Albini
9ec370d40c
bless both 32bit and 64bit variants of mir-opt when available
2023-06-12 09:34:10 +02:00
Pietro Albini
1c26f1b48f
split finding the cc for a single target into a separate fn
2023-06-12 09:34:09 +02:00
Pietro Albini
c6707dc15a
return dummy cc and friends during dry runs
...
Some targets are added to these hashmaps at runtime, and are not present
during dry runs. To avoid errors, this commit changes all the related
functions to always return empty strings/paths during dry runs.
2023-06-12 09:34:06 +02:00
Pietro Albini
68d458bb40
allow mutating the c compilers detected by bootstrap
...
This will be needed to create synthetic targets in future commits.
2023-06-12 09:33:33 +02:00
Pietro Albini
1b5143ae13
stop using a macro for the mir-opt test suite
2023-06-12 09:32:36 +02:00
bors
903fe3b9f2
Auto merge of #10894 - Centri3:type_repetition_in_bounds, r=blyxyas,xFrednet
...
[`type_repetition_in_bounds`]: Don't lint on derived code
fixes #10504 .
changelog: [`type_repetition_in_bounds`]: Don't lint on derived code
2023-06-12 07:18:39 +00:00
许杰友 Jieyou Xu (Joe)
72421bfb0c
Fix debug ICE for extern type with where clauses
2023-06-12 15:15:45 +08:00
bors
fd0a3313f7
Auto merge of #112261 - jieyouxu:c-like-ptr-arithmetics-diagnostics, r=WaffleLapkin
...
Add help for trying to do C-like pointer arithmetics
This PR adds help messages for these cases:
```rust
fn main() {
let ptr1: *const u32 = std::ptr::null();
let ptr2: *const u32 = std::ptr::null();
let a = ptr1 + 5;
let b = ptr1 - 5;
let c = ptr2 - ptr1;
let d = ptr1[5];
}
```
### Current Output
```
error[E0369]: cannot add `{integer}` to `*const u32`
--> tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs:4:18
|
4 | let a = ptr1 + 5; //~ ERROR cannot add
| ---- ^ - {integer}
| |
| *const u32
error[E0369]: cannot subtract `{integer}` from `*const u32`
--> tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs:5:18
|
5 | let b = ptr1 - 5; //~ ERROR cannot subtract
| ---- ^ - {integer}
| |
| *const u32
error[E0369]: cannot subtract `*const u32` from `*const u32`
--> tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs:6:18
|
6 | let c = ptr2 - ptr1; //~ ERROR cannot subtract
| ---- ^ ---- *const u32
| |
| *const u32
error[E0608]: cannot index into a value of type `*const u32`
--> tests/ui/typeck/issue-112252-ptr-arithmetics-help.rs:7:13
|
7 | let d = ptr1[5]; //~ ERROR cannot index
| ^^^^^^^
error: aborting due to 4 previous errors
```
### Output After This PR
```
error[E0369]: cannot add `{integer}` to `*const u32`
--> $DIR/issue-112252-ptr-arithmetics-help.rs:6:20
|
LL | let _a = _ptr1 + 5;
| ------^--
| | |
| | {integer}
| *const u32
| help: consider using `wrapping_add` or `add` for pointer + {integer}: `_ptr1.wrapping_add(5)`
error[E0369]: cannot subtract `{integer}` from `*const u32`
--> $DIR/issue-112252-ptr-arithmetics-help.rs:7:20
|
LL | let _b = _ptr1 - 5;
| ------^--
| | |
| | {integer}
| *const u32
| help: consider using `offset` for pointer - {integer}: `unsafe { _ptr1.offset(-5) }`
error[E0369]: cannot subtract `*const u32` from `*const u32`
--> $DIR/issue-112252-ptr-arithmetics-help.rs:8:20
|
LL | let _c = _ptr2 - _ptr1;
| ------^------
| | |
| | *const u32
| *const u32
| help: consider using `offset_from` for pointer - pointer if the pointers point to the same allocation: `_ptr2.offset_from(_ptr1)`
error[E0608]: cannot index into a value of type `*const u32`
--> $DIR/issue-112252-ptr-arithmetics-help.rs:9:14
|
LL | let _d = _ptr1[5];
| ^^^^^^^^
|
help: consider using `wrapping_add` or `add` for indexing into raw pointer
|
LL | let _d = _ptr1.wrapping_add(5);
| ~~~~~~~~~~~~~~~~~~~~~
error: aborting due to 4 previous errors
```
Closes #112252 .
2023-06-12 07:15:19 +00:00
bors
15a6362e00
Auto merge of #2924 - RalfJung:rustup, r=RalfJung
...
Rustup
2023-06-12 06:59:35 +00:00
bors
38c47dfe30
Auto merge of #15032 - AndreasBackx:fix/vscode-markdown, r=lnicola
...
fix: exclude Markdown injection grammar from .vscodeignore.
Enables Markdown injection introduced in #14866 but wasn't included in release due to the grammar file being ignored by `.vscodeignore`. I verified the fix by doing `vsce package` and installing it manually:
<img width="779" alt="image" src="https://github.com/rust-lang/rust-analyzer/assets/1593486/bb3da211-a017-45bf-ba7b-4122335aa6e8 ">
<img width="780" alt="image" src="https://github.com/rust-lang/rust-analyzer/assets/1593486/aa0c4025-e72c-4b0c-9d40-44c33e7d45e6 ">
2023-06-12 06:14:02 +00:00
Andreas Backx
942b392150
Exclude Markdown injection grammar from .vscodeignore.
...
Enables Markdown injection introduced in #14866 but wasn't included in release due to it being ignored.
2023-06-11 22:53:58 -07:00
bors
841f2199e0
Auto merge of #10416 - Jarcho:explicit_iter_loop_ext, r=Manishearth
...
Extend `explicit_iter_loop` and `explicit_into_iter_loop`
fixes #1518
Some included cleanups
* Split `for_loop` test into different files for each lint (partially).
* Move handling of some `into_iter` cases from `explicit_into_iter`.
---
changelog: Enhancement: [`explicit_iter_loop`]: Now also handles types that implement `IntoIterator`.
[#10416 ](https://github.com/rust-lang/rust-clippy/pull/10416 )
changelog: Sugg: [`explicit_into_iter_loop`]: The suggestion now works on mutable references.
[#10416 ](https://github.com/rust-lang/rust-clippy/pull/10416 )
<!-- changelog_checked -->
2023-06-12 05:30:32 +00:00
bors
21e6235b4c
Auto merge of #10921 - Centri3:needless_if, r=blyxyas,Manishearth
...
Add `needless_if` lint
first off: Sorry about the large diff. Seems a ton of tests do this (understandably so).
this is basically everything I wanted in #10868 , while it doesn't lint *all* unnecessary empty blocks, it lints needless if statements; which are basically the crux of the issue (for me) anyway. I've committed code that includes this far too many times 😅 hopefully clippy can help me out soon
closes #10868
changelog: New lint [`needless_if`]
2023-06-12 04:18:50 +00:00
bors
edaf7401e4
Auto merge of #10927 - Centri3:unnecessary_cast, r=Manishearth
...
Ignore more type aliases in unnecessary_cast
Fixes #10555
changelog: [`unnecessary_cast`]: No longer lints cast from locals that are type aliases
2023-06-12 03:48:37 +00:00
Andrew Xie
0cac8455e6
Applied nits
2023-06-11 22:45:04 -04:00
Michael Howell
94badbe599
rustdoc-search: fix order-independence bug
2023-06-11 18:57:33 -07:00
y21
c9daec2585
[unnecessary_fold]: suggest turbofish if necessary
2023-06-12 03:20:55 +02:00
Michael Howell
c897deddb8
rustdoc-search: add test case for bufread -> result<u8>
2023-06-11 18:19:41 -07:00
Michael Howell
9946d67579
rustdoc-search: build args, return, and generics on one unifier
...
This enhances generics with the "unboxing" behavior where A<T>
matches T. It makes this unboxing transitive over generics.
2023-06-11 18:19:37 -07:00
Michael Goulet
696cd98e6b
Don't record adjustments twice in note_source_of_type_mismatch_constraint
2023-06-12 00:35:30 +00:00
Deadbeef
5f9de6bfc9
Recover comments between attrs and generic param
...
Fixes #5320 .
2023-06-11 19:34:36 -05:00
Michael Howell
04f4493722
rustdoc-search: simplify JS in checkGenerics
2023-06-11 17:34:35 -07:00
Eric Huss
e903fcdaae
Remove rustc-workspace-hack
2023-06-11 19:34:01 -05:00
Antoni Boucher
8bba64673c
Cleanup
2023-06-11 20:01:24 -04:00
Antoni Boucher
ef037e6d30
Fix tests
2023-06-11 19:27:39 -04:00
Antoni Boucher
3371fce044
Fix tests
2023-06-11 18:21:00 -04:00
y21
e305b0730f
fix docs
2023-06-12 00:20:54 +02:00
bors
77dba225c1
Auto merge of #111801 - Bryanskiy:lints1, r=petrochenkov
...
Private-in-public lints implementation
Next part of RFC https://github.com/rust-lang/rust/issues/48054 .
r? `@petrochenkov`
2023-06-11 22:18:23 +00:00
Bryanskiy
6d46382f6f
Private-in-public lints implementation
2023-06-12 01:02:19 +03:00
y21
7280ad9f7b
[redundant_closure_call]: handle nested closures
2023-06-11 23:54:48 +02:00
hkalbasi
a4695788ca
Add a bunch of fixme comments
2023-06-12 00:37:11 +03:30
yanchith
e0e355dd25
Impl allocator function for iterators
2023-06-11 22:56:16 +02:00
yanchith
d9b6181d2f
Remove explicit lifetimes
2023-06-11 22:42:50 +02:00
Ralf Jung
3b9b4e5e3d
reorder attributes to make miri-test-libstd work again
2023-06-11 22:15:46 +02:00
Ralf Jung
6ab7af4d41
Merge from rustc
2023-06-11 22:09:29 +02:00
Ralf Jung
6147833064
Preparing for merge from rustc
2023-06-11 22:08:00 +02:00
bors
85533a3f12
Auto merge of #2922 - Vanille-N:tb-tests, r=RalfJung
...
TB: `box_exclusive_violation1` moved to `both_borrows`
`box_noalias_violation` was already shared, it makes sense to test `box_exclusive_violation` with TB too.
2023-06-11 20:05:01 +00:00
Antoni Boucher
90527b81c9
Some fixes and cleanups
2023-06-11 16:04:00 -04:00
Raghul Nanth A
f15e026101
ci(metrics): Run measurement functions in parallel
...
feat(xtask): Split metrics function
2023-06-12 01:22:34 +05:30
Centri3
4191de3303
Update check_proc_macro.rs
2023-06-11 14:52:26 -05:00
bors
d567091f47
Auto merge of #15028 - Veykril:rustfmt-thread, r=Veykril
...
internal: Give rustfmt jobs a separate thread
Some light testing suggests that this fixes the waiting on formatting popup in vscode when the project is still building (which is usually the way for me to encounter it, as r-a is either waiting or getting little resources causing the tasks to block formatting)
2023-06-11 18:14:54 +00:00
Lukas Wirth
179b8d7efc
Formatting
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2023-06-11 20:11:26 +02:00
Lukas Wirth
52bb94d697
internal: Give rustfmt jobs a separate thread
2023-06-11 19:56:24 +02:00
bors
37998ab508
Auto merge of #112530 - matthiaskrgr:rollup-qee1kc1, r=matthiaskrgr
...
Rollup of 3 pull requests
Successful merges:
- #112487 (Update documentation for `tools` defaults)
- #112513 (Dont compute `opt_suggest_box_span` span for TAIT)
- #112528 (bootstrap: Don't override `debuginfo-level = 1` to mean `line-tables-only`)
r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-11 17:33:51 +00:00
Matthias Krüger
c1f2da5683
Rollup merge of #112528 - jyn514:fix-debuginfo-level, r=Mark-Simulacrum
...
bootstrap: Don't override `debuginfo-level = 1` to mean `line-tables-only`
This has real differences in the effective debuginfo: in particular, it omits the module-level information and makes perf less useful (it can't distinguish "self" from "child" time anymore).
Allow passing `line-tables-only` directly in config.toml instead.
See https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/debuginfo.20in.20try.20builds/near/365090631 and https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202023-06-09/near/364883519 for more discussion. This effectively reverts the cargo half of https://github.com/rust-lang/rust/pull/110221 to avoid regressing https://github.com/rust-lang/rust/issues/60020 again in 1.72.
2023-06-11 18:38:29 +02:00
Matthias Krüger
d9ae7180e4
Rollup merge of #112513 - compiler-errors:dont-compute-box-span-for-tait, r=cjgillot
...
Dont compute `opt_suggest_box_span` span for TAIT
Fixes #112434
Also a couple more commits on top, pruning some dead code and fixing another weird suggestion encountered in the above issue.
2023-06-11 18:38:28 +02:00
Matthias Krüger
733617bd16
Rollup merge of #112487 - zwhiteley:improve-docs, r=Mark-Simulacrum
...
Update documentation for `tools` defaults
This PR alters the information in the tools profile config to mention that `download-rustc` uses the stage2 toolchain and not the stage1 toolchain (see https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Unable.20to.20compile.20rustc.20MSVC and rust-lang/rustc-dev-guide#1694 ).
2023-06-11 18:38:28 +02:00
Antoni Boucher
a0edbfb2d3
Test to fix UI tests
2023-06-11 11:52:50 -04:00
Antoni Boucher
e9708ebcef
Add note
2023-06-11 11:52:44 -04:00