Commit Graph

163090 Commits

Author SHA1 Message Date
Matthias Krüger
3e727054ad
Rollup merge of #93996 - notriddle:notriddle/magically-becomes-a-function, r=petrochenkov
Do not suggest "is a function" for free variables

Part of #82323
2022-02-17 06:30:01 +01:00
Matthias Krüger
2c0df80a2e
Rollup merge of #93981 - ChayimFriedman2:slice-pat-reference-option-result, r=davidtwco
Fix suggestion to slice if scurtinee is a reference to `Result` or `Option`

Fixes https://github.com/rust-lang/rust/pull/91343#issuecomment-1037718339 and https://github.com/rust-lang/rust/pull/91343#discussion_r761466979.
2022-02-17 06:30:00 +01:00
Matthias Krüger
351aa1b5da
Rollup merge of #93693 - rukai:91550, r=davidtwco
Suggest deriving required supertraits

closes https://github.com/rust-lang/rust/issues/91550

I chose to just hardcode handling for PartialOrd and PartialEq because that should be robust enough and I dont know how to go about doing it generically

r? rust-lang/diagnostics
2022-02-17 06:29:59 +01:00
Matthias Krüger
d855121a44
Rollup merge of #93479 - smoelius:master, r=yaahc
Use `optflag` for `--report-time`

Essentially, what is described here:
https://github.com/rust-lang/rust/issues/64888#issuecomment-1008047228

There is one difference. The comment proposes to add a
`--report-time-color` option. This change instead uses libtest's
existing `--color` option for that purpose.
2022-02-17 06:29:59 +01:00
Matthias Krüger
1cc0ae4cbb
Rollup merge of #89869 - kpreid:from-doc, r=yaahc
Add documentation to more `From::from` implementations.

For users looking at documentation through IDE popups, this gives them relevant information rather than the generic trait documentation wording “Performs the conversion”. For users reading the documentation for a specific type for any reason, this informs them when the conversion may allocate or copy significant memory versus when it is always a move or cheap copy.

Notes on specific cases:
* The new documentation for `From<T> for T` explains that it is not a conversion at all.
* Also documented `impl<T, U> Into<U> for T where U: From<T>`, the other central blanket implementation of conversion.
* The new documentation for construction of maps and sets from arrays of keys mentions the handling of duplicates. Future work could be to do this for *all* code paths that convert an iterable to a map or set.
* I did not add documentation to conversions of a specific error type to a more general error type.
* I did not add documentation to unstable code.

This change was prepared by searching for the text "From<... for" and so may have missed some cases that for whatever reason did not match. I also looked for `Into` impls but did not find any worth documenting by the above criteria.
2022-02-17 06:29:57 +01:00
Alex Saveau
80fde23a75
Add MAIN_SEPARATOR_STR
Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2022-02-16 19:38:12 -08:00
bors
930fc4f59d Auto merge of #94040 - Mark-Simulacrum:destabilize-load-store, r=Amanieu
Destabilize cfg(target_has_atomic_load_store = ...)

This was not intended to be stabilized yet.

This keeps the cfg_target_has_atomic feature gate name since compiler-builtins otherwise depends on it and I'd rather not try to manage a bump across a crates.io published repository given the time-sensitivity here (we need to land this quickly to avoid a beta backport).

Closes https://github.com/rust-lang/rust/issues/32976

r? `@Amanieu`
2022-02-17 01:56:40 +00:00
DrMeepster
d0b508e1a7
add comment explaining the check 2022-02-16 16:52:06 -08:00
Arthur Lafrance
47d5196a00 Add a try_collect() helper method to Iterator
Tweaked `try_collect()` to accept more `Try` types

Updated feature attribute for tracking issue
2022-02-16 14:26:39 -08:00
bors
2ff7ea4de2 Auto merge of #91182 - ChrisDenton:command-broken-symlink, r=m-ou-se
Maintain broken symlink behaviour for the Windows exe resolver

When the resolver was updated to remove the current directory from the search path (see #87704), care was take to avoid unintentional changes that hadn't been discussed. However, I missed the broken symlink behaviour. This PR fixes that.

**Edit** This turned out to be more important than I first realised. There are some types of application stubs that will redirect to the actual process when run using `CreateProcessW`, but due to the way they're implemented they cannot be opened normally using a `File::open` that follows reparse points. So this doesn't work with our current `exists` and `try_exists` methods.

Fixes #91177
2022-02-16 22:11:22 +00:00
est31
60f969a4f2 Adopt let_else in even more places 2022-02-16 22:43:39 +01:00
Nikita Popov
8630085ed6 Update dist-x86_64-musl to Ubuntu 20.04 2022-02-16 21:18:45 +01:00
Nikita Popov
75636bb6cf Update compiler-builtins to 0.1.70
This pulls in https://github.com/rust-lang/compiler-builtins/pull/455,
which exports __float/__fix builtins with the expected Win64 ABI
on LLVM 14.
2022-02-16 21:15:31 +01:00
Nikita Popov
0605a4122f Expose unstable llvm14-builtins-abi target feature for cfg use 2022-02-16 21:15:31 +01:00
Nikita Popov
200aa5c713 Add cmake directory to llvm source distribution
This directory is required for building LLVM now.
2022-02-16 21:15:31 +01:00
Nikita Popov
8275950786 Update coverage IR test 2022-02-16 21:15:31 +01:00
Nikita Popov
70ddd2ff1c Update data layout for wasm32 targets
New address spaces were added in https://reviews.llvm.org/D111154.
2022-02-16 21:15:31 +01:00
Nikita Popov
a380581ff8 Update data layout for 32-bit msvc targets
https://reviews.llvm.org/D115942 changed the alignment of f80.
2022-02-16 21:15:30 +01:00
Nikita Popov
f34914141e Update optimization remark test for LLVM 14
The format of the remark changed slightly.
2022-02-16 21:15:30 +01:00
Nikita Popov
599a03c9b5 Update LLVM submodule 2022-02-16 21:15:30 +01:00
Guillaume Gomez
0d928b6ed0 Update rustdoc tests to adapt to changes to the sidebar 2022-02-16 20:43:31 +01:00
Guillaume Gomez
5136b549c9 Unify sidebar a bit more by generating a list using <ul> instead of <div> elements 2022-02-16 20:32:53 +01:00
bors
75d9a0ae21 Auto merge of #94061 - matthiaskrgr:rollup-oduekp5, r=matthiaskrgr
Rollup of 10 pull requests

Successful merges:

 - #92366 (Resolve concern of `derive_default_enum`)
 - #93382 (Add a bit more padding in search box)
 - #93962 (Make [u8]::cmp implementation branchless)
 - #94015 (rustdoc --check option documentation)
 - #94017 (Clarify confusing UB statement in MIR)
 - #94020 (Support pretty printing of invalid constants)
 - #94027 (Update browser UI test version)
 - #94037 (Fix inconsistent symbol mangling with -Zverbose)
 - #94045 (Update books)
 - #94054 (⬆️ rust-analyzer)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-02-16 18:52:59 +00:00
Matthias Krüger
be858fa119
Rollup merge of #94054 - lnicola:rust-analyzer-2022-02-16, r=lnicola
⬆️ rust-analyzer

r? ``@ghost``
2022-02-16 18:59:36 +01:00
Matthias Krüger
5394714016
Rollup merge of #94045 - ehuss:update-books, r=ehuss
Update books

## nomicon

3 commits in 9493715a6280a1f74be759c7e1ef9999b5d13e6f..90993eeac93dbf9388992de92965f99cf6f29a03
2022-01-27 19:00:32 -0800 to 2022-02-13 12:44:12 +0900
- Fix a small typo in exception-safety.md (rust-lang/nomicon#341)
- Make `Vec::new` public in vec-alloc.md (rust-lang/nomicon#336)
- Fix a syntax error in leaking.md (rust-lang/nomicon#335)

## reference

6 commits in 411c2f0d5cebf48453ae2d136ad0c5e611d39aec..70fc73a6b908e08e66aa0306856c5211312f6c05
2022-01-30 12:46:37 -0800 to 2022-02-14 19:33:01 -0800
- Document pre-Rust-2021 special case for IntoIterator method lookup (rust-lang/reference#1154)
- Mention std::is_aarch64_feature_detected (rust-lang/reference#1061)
- Fix link to the Bastion of the Turbofish (rust-lang/reference#1161)
- Improve associated constant item CTFE timing section (rust-lang/reference#1147)
- document `#![feature(const_generics_defaults)]` (rust-lang/reference#1098)
- Update patterns allowed in @ patterns (rust-lang/reference#1158)

## book

6 commits in 98904efaa4fc968db8ff59cf2744d9f7ed158166..67b768c0b660a069a45f0e5d8ae2f679df1022ab
2022-01-29 21:22:31 -0500 to 2022-02-09 21:52:41 -0500
- Snapshot of ch18 for nostarch
- Remove mention of destructuring references as that's not covered currently
- Add note that exhaustiveness checking doesn't extend to match guards
- Change match guard example to actually be unexpressable with patterns alone
- Corrected listing number from 9-10 to 9-13
- Remove duplicate paragraph after No Starch related changes

## rustc-dev-guide

3 commits in 8763adb62c712df69b1d39ea3e692b6d696cc4d9..62f58394ba7b203f55ac35ddcc4c0b79578f5706
2022-01-26 14:01:40 -0800 to 2022-02-11 08:42:50 -0500
- Correction, building stage3 compiler (rust-lang/rustc-dev-guide#1298)
- Triage some date references (rust-lang/rustc-dev-guide#1293)
- mention test folders for cfg(bootstrap) (rust-lang/rustc-dev-guide#1294)
2022-02-16 18:59:35 +01:00
Matthias Krüger
237f16db45
Rollup merge of #94037 - tmiasko:verbose, r=Mark-Simulacrum
Fix inconsistent symbol mangling with -Zverbose

Always skip arguments that are the defaults of their respective
parameters, to avoid generating inconsistent symbols for builds
with `-Zverbose` flag and without it.
2022-02-16 18:59:34 +01:00
Matthias Krüger
847ac55bec
Rollup merge of #94027 - GuillaumeGomez:update-browser-ui-test, r=notriddle
Update browser UI test version

Might help a bit with https://github.com/rust-lang/rust/issues/93784 (still need to figure out what's going on with the driver).

r? ```@notriddle```
2022-02-16 18:59:33 +01:00
Matthias Krüger
bc4f117acc
Rollup merge of #94020 - tmiasko:pp, r=oli-obk
Support pretty printing of invalid constants

Make it possible to pretty print invalid constants by introducing a
fallible variant of `destructure_const` and falling back to debug
formatting when it fails.

Closes #93688.
2022-02-16 18:59:32 +01:00
Matthias Krüger
a5a1ffb178
Rollup merge of #94017 - fee1-dead:unub, r=bjorn3
Clarify confusing UB statement in MIR
2022-02-16 18:59:31 +01:00
Matthias Krüger
75a631d4ba
Rollup merge of #94015 - GuillaumeGomez:check-option, r=notriddle
rustdoc --check option documentation

Part of #92763.

r? ```@notriddle```
2022-02-16 18:59:30 +01:00
Matthias Krüger
9a42121135
Rollup merge of #93962 - joboet:branchless_slice_ord, r=Mark-Simulacrum
Make [u8]::cmp implementation branchless

The current implementation generates rather ugly assembly code, branching when the common parts are equal. By performing the comparison of the lengths upfront using a subtraction, the assembly gets much prettier: https://godbolt.org/z/4e5fnEKGd.

This will probably not impact speed too much, as the expensive part is in most cases the `memcmp`, but it sure looks better (I'm porting a sorting algorithm currently, and that branch just bothered me).
2022-02-16 18:59:29 +01:00
Matthias Krüger
01f0da2373
Rollup merge of #93382 - GuillaumeGomez:search-input-padding, r=jsha
Add a bit more padding in search box

As asked in https://github.com/rust-lang/rust/pull/93113#issuecomment-1021565703, here is a bit more padding.

You can check it [here](https://rustdoc.crud.net/imperio/search-input-padding/foo/index.html).

r? `@camelid`
2022-02-16 18:59:28 +01:00
Matthias Krüger
6930b6676a
Rollup merge of #92366 - jhpratt:derive-default-enum, r=Mark-Simulacrum
Resolve concern of `derive_default_enum`

This resolves the concern in favor of prohibiting multiple instances of
the attribute. This is similar to non-helper attributes as introduced in
#88681.

``@rustbot`` label +S-waiting-on-review +T-libs-api
2022-02-16 18:59:27 +01:00
Michael Howell
65fc7058d8 Do not suggest "is a function" for free variables
Part of #82323
2022-02-16 09:12:32 -07:00
Mark Rousskov
fc01d2b854 Destabilize cfg(target_has_atomic_load_store = ...)
This was not intended to be stabilized yet.
2022-02-16 10:28:12 -05:00
Laurențiu Nicola
ef88c3f406 ⬆️ rust-analyzer 2022-02-16 17:23:51 +02:00
Ivan Lozano
568aeda9e9 MemTagSanitizer Support
Adds support for the LLVM MemTagSanitizer.
2022-02-16 09:39:03 -05:00
bors
f90b06d7fb Auto merge of #94044 - ehuss:update-cargo, r=ehuss
Update cargo

5 commits in c082648646cbb2be266df9ecbcdc253058158d68..ea2a21c994ca1e4d4c49412827b3cf4dcb158b1d
2022-02-08 14:55:05 +0000 to 2022-02-15 04:24:07 +0000
- cargo-new should not add ignore rule on Cargo.lock inside subdirs (rust-lang/cargo#10379)
- Add a badge for github actions (rust-lang/cargo#10385)
- Remove outdated badges (rust-lang/cargo#10380)
- Remove `strip = "off"` (and undocumented `strip = "n"`/`strip = "no"`) (rust-lang/cargo#10376)
- Fix unmatched backticks (rust-lang/cargo#10375)
2022-02-16 12:51:41 +00:00
Michael Woerister
28ca6b0f79 debuginfo: Support fat pointers to unsized tuples. 2022-02-16 13:29:00 +01:00
Daniel Henry-Mantilla
6d2cdbec3e Add mentions to Copy for union fields 2022-02-16 13:29:00 +01:00
Loïc BRANSTETT
3a73ca587b Implement --check-cfg option (RFC 3013)
Co-authored-by: Urgau <lolo.branstett@numericable.fr>
Co-authored-by: Marcelina Kościelnicka <mwk@0x04.net>
2022-02-16 13:03:12 +01:00
Chayim Refael Friedman
91adb6ccd6 Correctly mark the span of captured arguments in format_args!()
It should only include the identifier, or misspelling suggestions will be wrong.
2022-02-16 07:34:06 +00:00
Eric Huss
d385899288 Update cargo 2022-02-15 20:31:20 -08:00
Eric Huss
2b75594140 Update books 2022-02-15 20:17:31 -08:00
DrMeepster
ae32f43c50 fix assumption that ScalarPair Box is always a fat pointer 2022-02-15 20:04:43 -08:00
Lucas Kent
1973f277a3 Cleanup uses 2022-02-16 15:01:19 +11:00
Lucas Kent
ae212402d6 Make implementation generic 2022-02-16 14:58:36 +11:00
Lucas Kent
8610edd014 Suggest deriving required supertraits 2022-02-16 14:58:36 +11:00
bors
a240ccd81c Auto merge of #93800 - b-naber:static-initializers-mir-val, r=oli-obk
Treat static refs as `mir::ConstantKind::Val`

With the upcoming introduction of Valtrees we want to treat more values as `mir::ConstantKind::Val` directly.

r? `@lcnr`

cc `@oli-obk`
2022-02-16 03:03:03 +00:00
Tomasz Miąsko
3158372dea Fix inconsistent symbol mangling with -Zverbose
Always skip arguments that are the defaults of their respective
parameters, to avoid generating inconsistent symbols for builds
with `-Zverbose` flag and without it.
2022-02-16 02:05:17 +01:00