bohan
f7330eb752
fix(resolve): update shadowed_glob more precision
2023-06-14 01:38:35 +08:00
bors
5683791ebb
Auto merge of #112017 - Nemo157:unsafe-block-rustfix, r=eholk
...
Add MVP suggestion for `unsafe_op_in_unsafe_fn`
Rebase of https://github.com/rust-lang/rust/pull/99827
cc tracking issue https://github.com/rust-lang/rust/issues/71668
No real changes since the original PR, just migrated the new suggestion to use fluent messages and added a couple more testcases, AFAICT from the discussion there were no outstanding changes requested.
2023-06-13 15:57:59 +00:00
Maybe Waffle
af4631ad6e
Add a test for -Zprint-vtable-sizes
2023-06-13 15:16:48 +00:00
Wim Looman
802c1d5979
Add test cases for suggestions with unsafe operations contained inside macros
2023-06-13 15:48:57 +02:00
Wim Looman
8f3e876e52
Add note about unsafe functions body not being unsafe
2023-06-13 15:48:57 +02:00
Wim Looman
62a712a8bb
Hide suggestion to wrap function in unsafe block
2023-06-13 15:48:55 +02:00
Wim Looman
aca61b2c07
Test that a couple more types of unsafe-ops get a wrapping unsafe block added
2023-06-13 15:47:02 +02:00
Léo Lanteri Thauvin
975152ce30
Add MVP suggestion for unsafe_op_in_unsafe_fn
...
Nemo157 rebase notes: Migrated the changes to the lint into fluent
2023-06-13 15:46:54 +02:00
bors
2ca8d358e5
Auto merge of #112549 - jieyouxu:fix-tests-for-unit-bindings, r=Nilstrieb
...
Adjust UI tests for `unit_bindings` lint
- Explicitly annotate `let x: () = expr;` where `x` has unit type, or remove the unit binding to leave only `expr;` instead.
- Use `let () = init;` or `let pat = ();` where appropriate.
- Fix disjoint-capture-in-same-closure test which wasn't actually testing a closure: `tests/ui/closures/2229_closure_analysis/run_pass/disjoint-capture-in-same-closure.rs`.
Note that unfortunately there's *a lot* of UI tests, there are a couple of places where I may have left something like `let (): ()` (this is not needed but is left over from an ealier version of the lint) which is bad style.
This PR is to help with the `unit_bindings` lint at #112380 .
2023-06-13 13:07:43 +00:00
Matthias Krüger
b7706e891d
Rollup merge of #111885 - compiler-errors:rust-call-abi-sized, r=eholk
...
Don't ICE on unsized `extern "rust-call"` call
Conceptually builds on #111864 , but doesn't depend on it.
2023-06-13 07:02:28 +02:00
bors
5e8c53f1f6
Auto merge of #112524 - GuillaumeGomez:migrate-gui-test-color-14, 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-13 00:35:32 +00:00
Michael Howell
db277f5284
rustdoc-search: search never type with !
...
This feature extends rustdoc to support the syntax that most users will
naturally attempt to use to search for diverging functions.
Part of #60485
It's already possible to do this search with `primitive:never`, but
that's not what the Rust language itself uses, so nobody will try it if
they aren't told or helped along.
2023-06-12 17:30:23 -07:00
Bryan Garza
f4cf8f65a5
Safe Transmute: Refactor error handling and Answer type
...
- Create `Answer` type that is not just a type alias of `Result`
- Remove a usage of `map_layouts` to make the code easier to read
- Don't hide errors related to Unknown Layout when computing transmutability
2023-06-12 16:56:21 -07:00
The 8472
ba5b2f0b4b
add codegen test for slice::Iter::fold
2023-06-12 23:47:08 +02:00
Matthias Krüger
8475a88d67
Rollup merge of #112416 - jieyouxu:issue-112363, r=wesleywiser
...
Fix debug ICE for extern type with where clauses
Fixes #112363 .
2023-06-12 17:44:38 +02:00
Matthias Krüger
a5245b5894
Rollup merge of #112302 - jieyouxu:issue-85184, r=WaffleLapkin
...
Suggest using `ptr::null_mut` when user provided `ptr::null` to a function expecting `ptr::null_mut`
```
error[E0308]: mismatched types
--> $DIR/ptr-null-mutability-suggestions.rs:9:24
|
LL | expecting_null_mut(ptr::null());
| ------------------ ^^^^^^^^^^^
| | |
| | types differ in mutability
| | help: consider using `core::ptr::null_mut` instead: `core::ptr::null_mut()`
| arguments to this function are incorrect
|
= note: expected raw pointer `*mut u8`
found raw pointer `*const _`
note: function defined here
--> $DIR/ptr-null-mutability-suggestions.rs:6:4
|
LL | fn expecting_null_mut(_: *mut u8) {}
| ^^^^^^^^^^^^^^^^^^ ----------
```
Closes #85184 .
2023-06-12 17:44:37 +02:00
许杰友 Jieyou Xu (Joe)
edafbaffb2
Adjust UI tests for unit_bindings
...
- Either explicitly annotate `let x: () = expr;` where `x` has unit
type, or remove the unit binding to leave only `expr;` instead.
- Fix disjoint-capture-in-same-closure test
2023-06-12 20:24:48 +08:00
bors
cb882fa998
Auto merge of #112543 - GuillaumeGomez:revert-112429, r=lcnr
...
[rustdoc] Fix infinite loop when retrieving impls for type alias
Fixes #112515 .
Reverts #112429 .
r? `@lcnr`
2023-06-12 10:08:45 +00:00
Guillaume Gomez
b93ca0146a
Add regression test for #112515
2023-06-12 11:35:19 +02:00
Guillaume Gomez
87d2361dcb
Revert "Add regression test for #32077 "
...
This reverts commit 6f552c800b .
2023-06-12 11:18:28 +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
许杰友 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 Goulet
696cd98e6b
Don't record adjustments twice in note_source_of_type_mismatch_constraint
2023-06-12 00:35:30 +00: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
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
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
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
Nicky Lim
211376927d
Update ui test
2023-06-11 18:27:26 +08:00
yukang
b133841bfc
Fix the overflow issue for transmute_generic_consts
2023-06-11 16:12:59 +08:00
yukang
0220c0b765
Detect actual span for getting unexpected token from parsing macros
2023-06-11 14:36:20 +08:00
Deadbeef
1e36f7e9ae
suspicious_double_ref_op: don't lint on .borrow()
2023-06-11 06:08:44 +00:00
Erik Desjardins
bd0aae92dc
cg_llvm: use index-based loop in write_operand_repeatedly
...
This is easier for LLVM to analyze.
2023-06-11 00:04:53 -04: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
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
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
León Orell Valerian Liehr
a995255cf5
iat selection: normalize self ty & completely erase bound vars
2023-06-11 00:19:47 +02:00
Michael Howell
d3a4cd6813
rustdoc: add note about slice/array searches to help popup
2023-06-10 14:08:26 -07:00
Michael Howell
2e569274d3
rustdoc: search for slices and arrays by type with []
...
Part of #60485
2023-06-10 13:52:54 -07:00
Michael Howell
3ed4c17d90
rustdoc: add test case for OsString::into_string
2023-06-10 13:50:40 -07:00
Hankai Zhang
6336da9a75
Use a better link
2023-06-10 14:46:11 -04:00