Commit graph

167355 commits

Author SHA1 Message Date
bjorn3
147e5da9e3 Add test 2022-03-24 16:23:51 +01:00
bjorn3
c681a884ef Don't include invalid paths in the depinfo for builtin backends 2022-03-24 16:16:11 +01:00
bjorn3
9cfdb89999 Only add codegen backend to dep info if -Zbinary-dep-depinfo is used 2022-03-24 16:16:10 +01:00
Jendrik
dcdde01aa3 add #[must_use] to functions of slice and its iterators. 2022-03-24 15:21:03 +01:00
flip1995
1fa3d66e62 Merge commit 'd0cf3481a8' into clippyup 2022-03-24 14:50:04 +01:00
flip1995
3365e9a120
Merge commit 'd0cf3481a8' into clippyup 2022-03-24 14:50:04 +01:00
bors
d0cf3481a8 Auto merge of #8580 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

Nice small sync with only typo fixes

changelog: none
2022-03-24 13:29:13 +00:00
flip1995
c995a8b501
Bump nightly version -> 2022-03-24 2022-03-24 14:22:43 +01:00
flip1995
1147b2c481
Merge remote-tracking branch 'upstream/master' into rustup 2022-03-24 14:22:35 +01:00
Samuel Moelius
86872059ed
Typo 2022-03-24 08:57:08 -04:00
bors
e29b3b55a4 Auto merge of #8579 - yoav-lavi:squashed-master, r=flip1995
`unnecessary_join` lint

changelog: Adds a lint called ``[`unnecessary_join`]`` that detects cases of `.collect::<Vec<String>>.join("")` or `.collect::<Vec<_>>.join("")` on an iterator, suggesting `.collect::<String>()` instead

Fixes: https://github.com/rust-lang/rust-clippy/issues/8570

This is a reopen of https://github.com/rust-lang/rust-clippy/pull/8573

changelog: add lint [`unnecessary_join`]
2022-03-24 12:57:08 +00:00
bors
8d8135f003 Auto merge of #94876 - b-naber:thir-abstract-const-changes, r=lcnr
Change Thir to lazily create constants

To allow `AbstractConst`s to work with the previous thir changes we made and those we want to make, i.e. to avoid problems due to `ValTree` and `ConstValue` conversions, we instead switch to a thir representation for constants that allows us to lazily create constants.

r? `@oli-obk`
2022-03-24 12:50:00 +00:00
Yoav Lavi
b60a7fb7b6
unnecessary_join lint 2022-03-24 13:18:18 +01:00
Oli Scherer
6fc3850847 update clippy stderr file 2022-03-24 11:27:07 +00:00
Oli Scherer
440946af11 update clippy stderr file 2022-03-24 11:27:07 +00:00
bors
d2df372bca Auto merge of #91030 - estebank:trait-bounds-are-tricky-2, r=oli-obk
Properly track `ImplObligations`

Instead of probing for all possible `impl`s that could have caused an
`ImplObligation`, keep track of its `DefId` and obligation spans for
accurate error reporting.

Follow to #89580. Addresses #89418.
2022-03-24 10:24:54 +00:00
Michael Woerister
e169261a6f debuginfo: Fix debuginfo for Box<T> where T is unsized.
Before this fix, the debuginfo for the fields was generated from the
struct defintion of Box<T>, but (at least at the moment) the compiler
pretends that Box<T> is just a (fat) pointer, so the fields need to be
`pointer` and `vtable` instead of `__0: Unique<T>` and `__1: Allocator`.

This is meant as a temporary mitigation until we can make sure that
simply treating Box as a regular struct in debuginfo does not cause too
much breakage in the ecosystem.
2022-03-24 11:12:41 +01:00
Mara Bos
c9ae3fe68f Explicitly use CLOCK_MONOTONIC in futex_wait.
Instant might be changed to use CLOCK_BOOTTIME at some point.
2022-03-24 11:11:31 +01:00
Mara Bos
23badeb4cb Make Timespec available in sys::unix. 2022-03-24 11:11:03 +01:00
Samuel E. Moelius III
65a26692fd Add crate_in_macro_def lint 2022-03-24 05:08:10 -04:00
Mara Bos
87299298d9 Use FUTEX_WAIT_BITSET rather than FUTEX_WAIT on Linux. 2022-03-24 09:51:48 +01:00
bors
600a80dedf Auto merge of #95233 - compiler-errors:chalk-up, r=jackh726
Upgrade chalk to `0.80.0`

r? `@jackh726`
2022-03-24 06:05:30 +00:00
Noah Lev
86220d6e51 Fix rustfix panic on test
`run-rustfix` applies all suggestions regardless of their Applicability.
There's a flag, `rustfix-only-machine-applicable`, that does what it
says, but then the produced `.fixed` file would have invalid code from
the suggestions that weren't applied. So, I moved the cases of postfix
increment, in which case multiple suggestions are given, to the
`-notfixed` test, which does not run rustfix.

I also changed the Applicability to Unspecified since MaybeIncorrect
requires that the code be valid, even if it's incorrect.
2022-03-23 22:31:57 -07:00
Noah Lev
725cde42d5 Use multipart_suggestions
This records that the suggestions are mutually-exclusive (i.e., only one
should be applied).
2022-03-23 22:31:57 -07:00
Noah Lev
ef74796178 Change temporary variable name if it would conflict 2022-03-23 22:31:57 -07:00
Noah Lev
95960b7d54 Make standalone an enum 2022-03-23 22:31:57 -07:00
Noah Lev
4212835d99 Add heuristic to avoid treating x + +2 as increment 2022-03-23 22:31:57 -07:00
Noah Lev
29a5c363c7 Improve function names 2022-03-23 22:31:57 -07:00
Noah Lev
713a11b919 Bless tests 2022-03-23 22:31:57 -07:00
Noah Lev
073010d425 Improve handling of tmp variable name conflicts 2022-03-23 22:31:57 -07:00
Noah Lev
62b8ea67b7 Emit both subexp and standalone sugg for postfix
This solves the TODO.
2022-03-23 22:31:57 -07:00
Noah Lev
7287f929b9 Emit structured suggestions for field accesses too 2022-03-23 22:31:57 -07:00
Noah Lev
67a9adbb54 Refactor, handle fields better, add field tests 2022-03-23 22:31:57 -07:00
Noah Lev
80e57e223e Reduce rightward drift 2022-03-23 22:31:57 -07:00
Noah Lev
d915606d50 Remove error recovery todos 2022-03-23 22:31:57 -07:00
Noah Lev
c9cc43aa66 Move increment checks to improve errors 2022-03-23 22:31:57 -07:00
Camelid
5d9cd4b851 Suggest i += 1 when we see i++ or ++i 2022-03-23 22:31:57 -07:00
Michael Goulet
d5a32d8701 Add known-bug for #94034 2022-03-23 22:17:30 -07:00
Michael Goulet
376d100e74 make rustc work again 2022-03-23 21:52:17 -07:00
Michael Goulet
e0c8780a5b Better suggestions for Fn trait selection errors 2022-03-23 21:46:11 -07:00
Esteban Kuber
5fd37862d9 Properly track ImplObligations
Instead of probing for all possible impls that could have caused an
`ImplObligation`, keep track of its `DefId` and obligation spans for
accurate error reporting.

Follow up to #89580. Addresses #89418.

Remove some unnecessary clones.

Tweak output for auto trait impl obligations.
2022-03-24 02:08:49 +00:00
bors
6970f88db3 Auto merge of #87667 - the8472:document-in-place-iter, r=yaahc
add module-level documentation for vec's in-place iteration

As requested in the last libs team meeting and during previous reviews.

Feel free to point out any gaps you encounter, after all non-obvious things may with hindsight seem obvious to me.

r? `@yaahc`

CC `@steffahn`
2022-03-24 01:43:21 +00:00
Joshua Nelson
76d7bccbdf Fix cargo run on Windows
Fixes the following error:
```
error: failed to run custom build command for `bootstrap v0.0.0 (C:\Users\Walther\git\rust\src\bootstrap)`

Caused by:
  process didn't exit successfully: `C:\Users\Walther\git\rust\target\debug\build\bootstrap-7757a4777dec0f86\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-env-changed=RUSTC
  cargo:rustc-env=BUILD_TRIPLE=x86_64-pc-windows-msvc
  cargo:rerun-if-env-changed=PATH

  --- stderr
  thread 'main' panicked at 'assertion failed: rustc.is_absolute()', src\bootstrap\build.rs:22:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
```

The problem was that the `dir.join` check only works with rustc.exe, not rustc.

Thanks Walther for the help testing the fix!
2022-03-23 19:55:35 -05:00
Thom Chiovoloni
09d83e292d
Add a compile_fail doctest to check that io::Error: !UnwindSafe 2022-03-23 17:29:19 -07:00
Thom Chiovoloni
b898ad499f
Ensure io::Error's bitpacked repr doesn't accidentally impl UnwindSafe 2022-03-23 17:12:47 -07:00
bors
37b55c8a0c Auto merge of #95250 - matthiaskrgr:rollup-ma4zl69, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #94249 (Better errors when a Copy impl on a Struct is not self-consistent)
 - #95069 (Fix auto traits in rustdoc)
 - #95221 (interpret/memory: simplify check_and_deref_ptr)
 - #95225 (remove `[async output]` from `impl Future` pretty-printing)
 - #95238 (Stop emitting E0026 for struct enums with underscores)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-03-23 23:02:17 +00:00
Grisha Vartanyan
b51f20eaf5 Update syntax tree definition 2022-03-23 23:44:16 +01:00
Jakob Degen
26d7b8ddb2 Clarify more MIR docs 2022-03-23 18:34:08 -04:00
Jakob Degen
fe40240e4d Clarify which kinds of MIR are allowed during which phases.
This enhances documentation with these details and extends the validator to check these requirements
more thoroughly. As a part of this, we add a new `Deaggregated` phase, and rename other phases so
that their names more naturally correspond to what they represent.
2022-03-23 18:34:08 -04:00
Grisha Vartanyan
38e0ae590c Reduce max hash in raw strings from u16 to u8 2022-03-23 22:13:55 +01:00