Commit Graph

223768 Commits

Author SHA1 Message Date
Nilstrieb
e5defd0102 Convert manual loop into while let 2023-04-09 23:22:14 +02:00
Nilstrieb
4b4948c2e3 Remove identity casts 2023-04-09 23:22:14 +02:00
Nilstrieb
81c320ea77 Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
Nilstrieb
6fceb0f645 Improve `Allocation::hash
Exhaustively destructure and ignore `()`
2023-04-09 23:22:14 +02:00
Nilstrieb
5a90de8f5e Delete useless loop 2023-04-09 23:22:14 +02:00
Nilstrieb
1c75724752 Properly compare previously shadowed values
The shadowing lead to an incorrect comparison. Rename it and compare it
properly. compiler-errors told me that I should just include the fix
here without a test.
2023-04-09 23:22:14 +02:00
bors
696aaad58c Auto merge of #109760 - MaciejWas:struct-tuple-field-names-suggestion, r=jackh726
Better diagnostic when pattern matching tuple structs

Fixes #108284

When trying to pattern match a tuple struct we might get a flawed error message if there are missing fields. E.g.

```
let x = Foo(100, 200);
if let Foo { 0: bar } = x { ... }
```

Produces this error:

```
error[E0769]: tuple variant `Foo` written as struct variant
 --> hello.rs:5:12
  |
5 |     if let Foo { 0: foo } = x {
  |            ^^^^^^^^^^^^^^
  |
help: use the tuple variant pattern syntax instead
  |
5 |     if let Foo(_, _) = x {
  |               ~~~~~~
```

Which doesn't highlight that we can still use the struct syntax but we need to fill missing fields. This pr changes this error to:

```
error[E0027]: pattern does not mention field `1`
 --> hello.rs:5:12
  |
5 |     if let Foo { 0: foo } = x {
  |            ^^^^^^^^^^^^^^ missing field `1`
  |
help: include the missing field in the pattern
  |
5 |     if let Foo { 0: foo, 1: _ } = x {
  |                        ~~~~~~~~
help: if you don't care about this missing field, you can explicitly ignore it
  |
5 |     if let Foo { 0: foo, .. } = x {
  |                        ~~~~~~
```
2023-04-09 20:57:06 +00:00
Mads Ravn
9aa3f053d7 './configure' now checks if 'config.toml' exists before writing to that destination 2023-04-09 22:50:42 +02:00
Nilstrieb
07cd3826e0 Small clippy::correctness fixes
Nothing was really incorrect before, but it did get nicer.
2023-04-09 22:39:23 +02:00
Nilstrieb
0a0968b207 Allow modulo_one on function using cfg consts 2023-04-09 22:30:24 +02:00
Nilstrieb
968be98756 Allow clippy::from_mut_ref
This pattern is fine for arena allocators.
2023-04-09 22:29:56 +02:00
Joshua Nelson
fb927968cc Separate out a rustc_llvm_env function 2023-04-09 15:19:21 -05:00
Nilstrieb
f00366d191 Box large enum variants 2023-04-09 21:59:28 +02:00
Nilstrieb
54e1309c65 Use HashMap entry APIs more 2023-04-09 21:59:28 +02:00
Nilstrieb
f058d05fc2 Some simple clippy::perf fixes 2023-04-09 21:59:28 +02:00
blyxyas
2c976765b8 Migrate sess.opts.tests uses to sess.is_test_crate() 2023-04-09 21:37:31 +02:00
Joshua Nelson
2b43f25e42 Fix x check --stage 1 when download-rustc is enabled 2023-04-09 14:28:06 -05:00
bors
015fb8a9e3 Auto merge of #10618 - KisaragiEffective:patch-2, r=llogiq
[missing_const_for_fn] fix #7121

*Please write a short comment explaining your change (or "none" for internal only changes)*

changelog: [`missing_const_for_fn`] note about removing const may break compatibility

fix #7121
2023-04-09 18:49:52 +00:00
bors
7de7ca802e Auto merge of #10610 - beetrees:max-line-length, r=Jarcho
Add `max_line_length` to `.editorconfig`, matching `rustfmt.toml`

Add `max_line_length` to `.editorconfig` to match the `max_width` in `rustfmt.toml`.

changelog: none
2023-04-09 18:38:18 +00:00
Scott McMurray
d757c4b904 Handle not all immediates having abi::Scalars 2023-04-09 11:16:50 -07:00
bors
39bf7777aa Auto merge of #109751 - bzEq:aix-gmake, r=Mark-Simulacrum
AIX uses gmake for GNU style Makefile

AIX's `make` is SystemV style, should use `gmake` for GNU style Makefile.
2023-04-09 18:11:59 +00:00
Joshua Nelson
464a24e68d compiletest: Use remap-path-prefix only in CI
This makes jump-to-definition work in most IDEs, as well as being easier
to understand for contributors.
2023-04-09 12:38:03 -05:00
Joshua Nelson
7ca7c8fbf3 compiletest: Give a better error message if node isn't installed 2023-04-09 12:36:30 -05:00
Kisaragi
ba1f19ee30 apply code review suggestion
Co-authored-by: llogiq <bogusandre@gmail.com>
2023-04-10 01:31:30 +09:00
Kisaragi
5109a8a840 [missing_const_for_fn] fix #7121 2023-04-10 00:55:32 +09:00
bors
1c39afb375 Auto merge of #109684 - fee1-dead-contrib:rv_const_range, r=Mark-Simulacrum
Revert #104100, Allow using `Range` as an `Iterator` in const contexts.

This fixes #109632.
2023-04-09 15:42:27 +00:00
bjorn3
45eb938b09 Rustup to rustc 1.70.0-nightly (af06dce64 2023-04-08) 2023-04-09 15:12:19 +00:00
bjorn3
8b447bcdd8 Sync from rust af06dce64b 2023-04-09 15:06:45 +00:00
Richard Schneeman
e612d785d7 Apply suggestions from code review
Fixes documentation. I wrote `env_clear` when I meant `env_remove`. Good catch.

Co-authored-by: Josh Stone <cuviper@gmail.com>
2023-04-09 09:21:19 -05:00
bjorn3
c4b379460f Use --nocapture instead of RUST_TEST_NOCAPTURE
RUST_TEST_NOCAPTURE is no longer respected
2023-04-09 13:25:41 +00:00
bors
7201301df6 Auto merge of #109500 - petrochenkov:modchainld, r=oli-obk
resolve: Preserve reexport chains in `ModChild`ren

This may be potentially useful for
- avoiding uses of `hir::ItemKind::Use` (which usually lead to correctness issues)
- preserving documentation comments on all reexports, including those from other crates
- preserving and checking stability/deprecation info on reexports
- all kinds of diagnostics

The second commit then migrates some hacky logic from rustdoc to `module_reexports` to make it simpler and more correct.
Ideally rustdoc should use `module_reexports` immediately at the top level, so `hir::ItemKind::Use`s are never used.
The second commit also fixes issues with https://github.com/rust-lang/rust/pull/109330 and therefore
Fixes https://github.com/rust-lang/rust/issues/109631
Fixes https://github.com/rust-lang/rust/issues/109614
Fixes https://github.com/rust-lang/rust/issues/109424
2023-04-09 13:05:56 +00:00
bjorn3
c7053b391c Set a timeout of 1h for the "Various rustc tests" GHA workflow
Fixes #1368
2023-04-09 13:01:10 +00:00
bjorn3
9970b04646 Don't deadlock when failing to acquire a jobserver token 2023-04-09 12:58:45 +00:00
Lukas Markeffsky
d9f99c36fe Use Display in top-level example for PanicInfo 2023-04-09 14:29:16 +02:00
bluthej
d8f0a96ba2 Merge branch 'rust-lang:master' into clear-with-drain 2023-04-09 13:40:52 +02:00
bluthej
7852962820 Change format! style to please dogfood test 2023-04-09 13:37:02 +02:00
bluthej
423b54ac12 Update documentation for clear_with_drain
The specific type `Vec` is replaced with the generic term 'container'
2023-04-09 13:29:27 +02:00
bluthej
32aa07f832 Fix false negative for Strings
`String` is not a diagnostic item and was thus not picked up by
`is_type_diagnostic_item`, leading to a false negative for
`collection_is_never_read`
2023-04-09 13:25:50 +02:00
Caio
cd0009eb30 Suppress the triggering of some lints in derived structures 2023-04-09 08:16:20 -03:00
blyxyas
28e19f19aa Add little is_test_crate function 2023-04-09 13:04:59 +02:00
bors
56e0626836 Auto merge of #110041 - fmease:diag-sugg-adding-const-param, r=compiler-errors
Suggest defining const parameter when appropriate

Helps a bit with #91119.
Following #105523's lead, I use placeholder `/* Type */` instead of `_` in the suggestion.
It should be easier for newcomers to parse.

`@rustbot` label A-diagnostics
r? diagnostics
2023-04-09 10:54:04 +00:00
Erik Hofmayer
3fcc007f96 Add PR link to changelog entry for renaming of ignore-git 2023-04-09 12:36:15 +02:00
bluthej
5b57e5cec8 Fix false negative with String and add tests
`String` is currently not a diagnostic item so it needs special
treatment
2023-04-09 12:33:20 +02:00
Erik Hofmayer
5c75dcdefa Add renaming of ignore-git to changelog 2023-04-09 12:31:13 +02:00
Patrik Kormosi
53fa6fe56f Fix typo in todo! macro docstring 2023-04-09 10:38:35 +02:00
Ezra Shaw
1e95cddc74 feat: implement basic suggest-tests tool 2023-04-09 19:59:14 +12:00
bors
709a97fffe Auto merge of #109173 - flba-eb:add-i586-qnx70-target, r=compiler-errors
Add tier 3 no_std x86 support for QNX Neutrino RTOS, version 7.0

This PR adds the target `i586-pc-nto-qnx700`, which targets QNX Neutrino RTOS version 7.0 on x86 32-bit targets.

cc: `@flba-eb` `@gh-tr`

This target falls under the umbrella of Tier 3 QNX Neutrino RTOS support documented in `nto-qnx.md` and previously started with #102701.
2023-04-09 07:36:53 +00:00
bors
7cd6f55323 Auto merge of #110101 - JohnTitor:rollup-ol20aw7, r=JohnTitor
Rollup of 6 pull requests

Successful merges:

 - #110058 (Remove `box_syntax` usage)
 - #110059 (ignore_git → omit_git_hash)
 - #110060 (Document that `&T` and `&mut T` are `Sync` if `T` is)
 - #110074 (Make the "codegen" profile of `config.toml` download and build llvm from source.)
 - #110086 (Add `max_line_length` to `.editorconfig`, matching rustfmt)
 - #110096 (Tweak tuple indexing suggestion)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-09 05:00:24 +00:00
Yuki Okushi
eed27ac7f4 Rollup merge of #110096 - compiler-errors:tweak-tuple-idx-msg, r=Nilstrieb
Tweak tuple indexing suggestion

Fixes #110091
2023-04-09 12:35:56 +09:00
Yuki Okushi
01fcd19115 Rollup merge of #110086 - beetrees:max-line-length, r=jyn514
Add `max_line_length` to `.editorconfig`, matching rustfmt

Add `max_line_length` to `.editorconfig`, matching the max width used by rustfmt.
2023-04-09 12:35:55 +09:00