Guillaume Gomez
b93ca0146a
Add regression test for #112515
2023-06-12 11:35:19 +02:00
Guillaume Gomez
810c5176ad
Revert "List matching impls on type aliases"
...
This reverts commit 4b1d13d9841c815915433ca2a3088a8e3e97ad96.
2023-06-12 11:27:56 +02:00
Guillaume Gomez
87d2361dcb
Revert "Add regression test for #32077 "
...
This reverts commit 6f552c800b38b3e71c5e33a295e8b490d2018c71.
2023-06-12 11:18:28 +02:00
Guillaume Gomez
7c5e41631d
Revert "Fix intra-doc links from pointer appearing in windows HANDLE type alias"
...
This reverts commit 2ce7cd906bde70d8cbd9b07b31c6a7bf1131c345.
2023-06-12 11:18:28 +02:00
aticu
e3a1a11ed2
Implement TryFrom<&OsStr>
for &str
2023-06-12 10:46:49 +02:00
Pietro Albini
4668123945
bless mir-opt
...
To reproduce the changes in this commit locally:
- Run `./x test tidy` and remove all the output files not associated
with a test file anymore, as reported by tidy.
- Run `./x test tests/mir-opt --bless` to generate the new outputs.
2023-06-12 09:34:17 +02:00
Pietro Albini
070cc836e9
properly mark tests that require panic=abort
2023-06-12 09:34:15 +02:00
Pietro Albini
a4e8904ce8
add way to split mir-opt into panic=abort and panic=unwind
2023-06-12 09:34:14 +02:00
Pietro Albini
6fd0d1ba14
make sure the standard library compiles properly with synthetic targets
...
It might happen that a synthetic target name does not match one of the
hardcoded ones in std's build script, causing std to fail to build. This
commit changes the std build script avoid including the restricted-std
feature unconditionally when a synthetic target is being built.
2023-06-12 09:34:13 +02:00
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
许杰友 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
Michael Howell
94badbe599
rustdoc-search: fix order-independence bug
2023-06-11 18:57:33 -07: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 Howell
04f4493722
rustdoc-search: simplify JS in checkGenerics
2023-06-11 17:34:35 -07: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
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
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
jyn
123693953f
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 breaks perf.
Allow passing `line-tables-only` directly in config.toml instead.
2023-06-11 10:14:37 -05:00
bors
81c02da94e
Auto merge of #111958 - notriddle:notriddle/type-search-slice-array, r=GuillaumeGomez
...
rustdoc: search for slices and arrays by type with `[]`
This feature extends rustdoc to support the syntax that most users will naturally attempt to use to search for slices and arrays. Part of #60485
Function signature searches already support arrays and slices. The explicit name `primitive:slice<u8>` and `primitive:array<u8>` can be used to match a slice or array of bytes, while square brackets `[u8]` will match either one. Empty square brackets, `[]`, will match any slice regardless of what it contains.
Preview:
* [`option -> []`](https://notriddle.com/rustdoc-demo-html-3/search-slice-array/std/index.html?search=option%20-%3E%20%5B%5D )
* [`[u8] -> str`](https://notriddle.com/rustdoc-demo-html-3/search-slice-array/std/index.html?search=%5Bu8%5D%20-%3E%20str )
* [`Box<[u8]> -> str`](https://notriddle.com/rustdoc-demo-html-3/search-slice-array/std/index.html?search=Box%3C%5Bu8%5D%3E%20-%3E%20str )
Motivation:
When type-based search was first landed, it was directly described as "incomplete". Here's [a comment] from the discussion thread:
[a comment]: https://github.com/rust-lang/rust/pull/23289#issuecomment-79437386
> This is looking really great, nice work! I can think of a number of cases that aren't quite covered by this, but I feel like this is a great improvement regardless and it can always be iterated on so I'm fine landing with a few known cases where it may not work :)
Filling out the missing functionality is going to mean adding support for more of Rust's [type expression] syntax, such as slices (in this PR), tuples, references, raw pointers, function pointers, and generics.
[type expression]: https://doc.rust-lang.org/reference/types.html#type-expressions
There does seem to be demand for this sort of thing, such as [this Discord message](https://discord.com/channels/442252698964721669/443150878111694848/1042145740065099796 ) expressing regret at rustdoc not supporting tuples in search queries.
2023-06-11 14:48:58 +00:00
Guillaume Gomez
5894193996
Migrate GUI colors test to original CSS color format
2023-06-11 14:40:12 +02:00
bors
7b6093ee08
Auto merge of #112202 - nicklimmm:item-template-derive-macro, r=GuillaumeGomez
...
rustdoc: Add `item_template` macro
Closes #112021
This change removes the use of `self.borrows()` in Askama templates, removes code duplication from `item_and_mut_cx()`, and improved readability by eliminating the prefix `item_template_` when calling from the template.
References:
- Discussion issue: https://github.com/rust-lang/rust/issues/112021
- `ItemTemplate` PR: https://github.com/rust-lang/rust/pull/111946
r? `@GuillaumeGomez`
2023-06-11 11:53:35 +00:00
Nicky Lim
211376927d
Update ui test
2023-06-11 18:27:26 +08:00
Nicky Lim
6033895ec2
Add subdiagnostic and suggestion for overflowing bin hex with sign bits
2023-06-11 18:27:26 +08:00
Nicky Lim
e240dab0c8
Add item_template
macro
2023-06-11 18:06:34 +08:00
yukang
b133841bfc
Fix the overflow issue for transmute_generic_consts
2023-06-11 16:12:59 +08:00
Deadbeef
1e36f7e9ae
suspicious_double_ref_op
: don't lint on .borrow()
2023-06-11 06:08:44 +00:00
bors
34d64ab7a2
Auto merge of #112466 - lcnr:opaque-type-cleanup, r=compiler-errors
...
opaque type cleanup
the commits are pretty self-contained.
r? `@compiler-errors` cc `@oli-obk`
2023-06-11 03:42:14 +00:00
bors
970058e16b
Auto merge of #112512 - matthiaskrgr:rollup-o2jh1jx, r=matthiaskrgr
...
Rollup of 7 pull requests
Successful merges:
- #112475 (Fix issue for module name when surround the struct literal with parentheses)
- #112477 (Give more helpful progress messages in `Assemble`)
- #112484 (Fix ntdll linkage issues on Windows UWP platforms)
- #112492 (Migrate GUI colors test to original CSS color format)
- #112493 (iat selection: normalize self ty & completely erase bound vars)
- #112497 (abs_sub: fix typo 0[-:][+.]0)
- #112498 (Update links to Rust Reference in diagnostic)
r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-11 00:35:36 +00:00
Michael Goulet
2b40268f8b
properly check associated consts for infer placeholders
2023-06-11 00:27:03 +00:00
Michael Goulet
d80440263c
Don't suggest boxing an empty if/else arm
2023-06-11 00:19:56 +00:00
Matthias Krüger
46b64aaef0
Rollup merge of #112498 - SamZhang3:rust-reference-link-update, r=Nilstrieb
...
Update links to Rust Reference in diagnostic
Instead of linking to the [old Rust Reference site](https://static.rust-lang.org/doc/master/reference.html#literals ), which is severely outdated (Rust 1.17), link to the [current website](https://doc.rust-lang.org/stable/reference/expressions/literal-expr.html ) in diagnostic about incorrect literals.
2023-06-11 01:57:28 +02:00
Matthias Krüger
0ff35f27b0
Rollup merge of #112497 - icecream17:patch-1, r=Mark-Simulacrum
...
abs_sub: fix typo 0[-:][+.]0
2023-06-11 01:57:28 +02:00
Matthias Krüger
e9666d4d85
Rollup merge of #112493 - fmease:iat-select-complete-bound-var-erasure, r=compiler-errors
...
iat selection: normalize self ty & completely erase bound vars
Erase bound vars (most notably late-bound regions) irrespective of their binding level instead of just at the innermost one.
Fixes #111404 .
2023-06-11 01:57:27 +02:00
Matthias Krüger
fcf621e373
Rollup merge of #112492 - GuillaumeGomez:migrate-gui-test-color-13, r=notriddle
...
Migrate GUI colors test to original CSS color format
Follow-up of https://github.com/rust-lang/rust/pull/111459 .
r? `@notriddle`
2023-06-11 01:57:27 +02:00
Matthias Krüger
e4f6b3d39e
Rollup merge of #112484 - bdbai:fix/uwpntdll, r=ChrisDenton
...
Fix ntdll linkage issues on Windows UWP platforms
See discussion: https://github.com/rust-lang/rust/issues/112265#issuecomment-1575479683
Static loading `ntdll` functions does not work for UWP programs, which will end up link errors complaining about missing symbols, or failure to pass the WACK tests. The breakage was introduced in #108262 .
This PR basically reverts part of the changes in #108262 for UWP only, and fixes some lint suggestions.
2023-06-11 01:57:26 +02:00
Matthias Krüger
dbe31bb693
Rollup merge of #112477 - jyn514:assemble-info, r=clubby789
...
Give more helpful progress messages in `Assemble`
Before (download-rustc):
```
# no output
```
After (download-rustc):
```
Creating a sysroot for stage2 compiler (use `rustup toolchain link 'name' build/host/stage2`)
```
Before (compiling from source):
```
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Assembling stage1 compiler
Build stage1 library artifacts (x86_64-unknown-linux-gnu -> i686-unknown-linux-gnu)
Building compiler artifacts (stage0:x86_64-unknown-linux-gnu -> stage1:i686-unknown-linux-gnu)
Assembling stage1 compiler (i686-unknown-linux-gnu)
```
After (compiling from source):
```
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Build stage1 library artifacts (x86_64-unknown-linux-gnu)
Building compiler artifacts (stage0:x86_64-unknown-linux-gnu -> stage1:i686-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (i686-unknown-linux-gnu) (use `rustup toolchain link 'name' build/i686-unknown-linux-gnu/stage1`)
```
cc https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Unable.20to.20compile.20rustc.20MSVC , https://discord.com/channels/273534239310479360/957720175619215380/1116867245499498506
2023-06-11 01:57:26 +02:00
Matthias Krüger
e19a509f8f
Rollup merge of #112475 - chenyukang:yukang-fix-112278, r=compiler-errors
...
Fix issue for module name when surround the struct literal with parentheses
Fixes #112278
2023-06-11 01:57:25 +02:00