about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2021-11-10Rollup merge of #90736 - Lokathor:inline-asm-docs-updates, r=AmanieuMatthias Krüger-2/+5
adjust documented inline-asm register constraints This change more clearly specifies how `reg` and `reg_thumb` work with ARM, Thumb2, and Thumb1 code. Based upon the [llvm documentation](https://llvm.org/docs/LangRef.html#supported-constraint-code-list) for register constraint codes. To be clear, this just updates the docs to match what already happens with rustc/llvm. No change in the compiler is required to make it match this new documentation.
2021-11-10Rollup merge of #89930 - cuviper:avoid-clone3, r=joshtriplettMatthias Krüger-44/+17
Only use `clone3` when needed for pidfd In #89522 we learned that `clone3` is interacting poorly with Gentoo's `sandbox` tool. We only need that for the unstable pidfd extensions, so otherwise avoid that and use a normal `fork`. This is a re-application of beta #89924, now that we're aware that we need more than just a temporary release fix. I also reverted 12fbabd27f700, as that was just fallout from using `clone3` instead of `fork`. r? `@Mark-Simulacrum` cc `@joshtriplett`
2021-11-10Auto merge of #90759 - yanok:llvm-dbginfo-fix, r=nikicbors-0/+0
Update llvm submodule This includes debug info generation fix, that fixes #90301. Also includes WASM backend related fix for https://bugs.llvm.org/show_bug.cgi?id=52352 (I haven't found a corresponding Rust bug).
2021-11-10Update llvm submoduleIlya Yanok-0/+0
This includes debug info generation fix, that fixes #90301. Also includes WASM backend related fix for https://bugs.llvm.org/show_bug.cgi?id=52352 (I haven't found a corresponding Rust bug).
2021-11-10Auto merge of #88670 - camelid:miri-uninit-num, r=RalfJungbors-5/+12
miri: Detect uninitialized integers and floats Part of rust-lang/miri#1340. Companion Miri PR: rust-lang/miri#1904 r? `@RalfJung`
2021-11-10Auto merge of #90754 - matthiaskrgr:rollup-v0483m5, r=matthiaskrgrbors-9/+8
Rollup of 3 pull requests Successful merges: - #90690 (kmc-solid: Avoid the use of `asm_const`) - #90748 (Add a real tracking issue for `CommandExt::groups`) - #90751 (Update books) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-11-10Rollup merge of #90751 - ehuss:update-books, r=ehussMatthias Krüger-1/+1
Update books ## nomicon 1 commits in 358e6a61d5f4f0496d0a81e70cdcd25d05307342..c6b4bf831e9a40aec34f53067d20634839a6778b 2021-10-20 11:23:12 -0700 to 2021-11-09 02:30:56 +0900 - Replace some use of variant with covariant (rust-lang/nomicon#322) ## book 11 commits in fd9299792852c9a368cb236748781852f75cdac6..5c5dbc5b196c9564422b3193264f3288d2a051ce 2021-10-22 21:59:46 -0400 to 2021-11-09 19:30:43 -0500 - Fix constants link. - Fix updated anchor - Propagate edits to chapter 2 back - Edits to nostarch's chapter 3 edits - ch 3 from nostarch - Fix Cargo.toml snippet about custom derive macros - Snapshot of chapter 9 for nostarch - Create tmp/src for converting quotes, not sure why this broke but ok - Update question mark to better explain where it can be used - Clarify sentence about Results in functions that don't return Result. Fixes rust-lang/book#2912. - Merge pull request rust-lang/book#2913 from covariant/patch-1 ## rust-by-example 2 commits in 27f1ff5e440ef78828b68ab882b98e1b10d9af32..e9d45342d7a6c1def4731f1782d87ea317ba30c3 2021-10-13 08:04:40 -0300 to 2021-11-02 13:33:03 -0500 - Enums: Linked-List Needs Re-Wording (rust-lang/rust-by-example#1469) - fix: Use the point as top left corner for `square` (rust-lang/rust-by-example#1471) ## rustc-dev-guide 13 commits in b06008731af0f7d07cd0614e820c8276dfed1c18..196ef69aa68f2cef44f37566ee7db37daf00301b 2021-10-21 15:13:09 -0500 to 2021-11-07 07:48:47 -0600 - Fix typo: [upv.rs_mentioned] -> [upvars_mentioned] - Add note to emphasize replacing TARGET_TRIPLE (rust-lang/rustc-dev-guide#1250) - Remove some legacy test suites. - tiny capitalization fix - Fix date - Update some date-check comments - Ensure date-check cron job is using latest stable Rust - enhance subtree docs, link to clippy docs - Edit introduction to bootstrapping - Some minor adjustments to the diagnostic documentation - Edit "About this guide" for semantic line feeds - Fix `rustc_mir` related links (rust-lang/rustc-dev-guide#1228) - Add documentation for LLVM CFI support ## edition-guide 3 commits in 7c0088ca744d293a5f4b1e2ac378e7c23d30fe55..27f4a84d3852e9416cae5861254fa53a825c56bd 2021-10-05 13:28:05 +0200 to 2021-11-08 10:13:20 -0500 - Add a missing period (rust-lang/edition-guide#271) - Fix syntax error in code example (rust-lang/edition-guide#270) - Fixed an example error of prelude.md (rust-lang/edition-guide#269)
2021-11-10Rollup merge of #90748 - cuviper:track-setgroups, r=dtolnayMatthias Krüger-1/+1
Add a real tracking issue for `CommandExt::groups` The `unstable` attribute referenced the closed RFE #38527, so I filed tracking issue #90747.
2021-11-10Rollup merge of #90690 - solid-rs:fix-kmc-solid-asm-const, r=Mark-SimulacrumMatthias Krüger-7/+6
kmc-solid: Avoid the use of `asm_const` This PR removes the use of [the now-separated-out `asm_const` compiler feature][1] in `std::sys::solid` to fix the [`*-kmc-solid_*`](https://doc.rust-lang.org/nightly/rustc/platform-support/kmc-solid.html) Tier 3 targets. [1]: https://github.com/rust-lang/rust/pull/90348
2021-11-10Auto merge of #90663 - ↵bors-0/+23
ken-matsui:support-early-stopping-too-old-tidy-for-macos, r=Mark-Simulacrum Support early stopping too old pre-installed `tidy` command for macOS in the HTML checker This PR brings early stopping the HTML checker before errors, which leave some macOS users confused, and suggesting installing a newer `tidy` command. The pre-installed `tidy` command on macOS is too old, released on 31 October 2006. Additionally, I can see the same date at [StackOverflow](https://stackoverflow.com/questions/22283382/overwrite-osx-tidy ) seven years ago. The `tidy` does not support two indispensable options: `--mute-id` and `--mute`. So, the `./x.py test` command fails with a bunch of errors due not to muting them. I could confirm the `./x.py test` command before installing a newer `tidy` failed and its command after the installation succeeded.
2021-11-09Update booksEric Huss-1/+1
2021-11-09Add a real tracking issue for `CommandExt::groups`Josh Stone-1/+1
2021-11-09miri: Detect uninitialized integers and floatsNoah Lev-5/+12
Change the Miri engine to allow configuring whether to check initialization of integers and floats. This allows the Miri tool to optionally check for initialization if requested by the user.
2021-11-09Update src/doc/unstable-book/src/library-features/asm.mdLokathor-2/+2
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-11-09Update src/doc/unstable-book/src/library-features/asm.mdLokathor-1/+1
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
2021-11-09adjust documented register constraints to match ↵Lokathor-2/+5
https://llvm.org/docs/LangRef.html#supported-constraint-code-list
2021-11-09Auto merge of #90734 - matthiaskrgr:rollup-e1euotp, r=matthiaskrgrbors-235/+1130
Rollup of 7 pull requests Successful merges: - #89561 (Type inference for inline consts) - #90035 (implement rfc-2528 type_changing-struct-update) - #90613 (Allow to run a specific rustdoc-js* test) - #90683 (Make `compiler-docs` only control the default instead of being a hard off-switch) - #90685 (x.py: remove fixme by deleting code) - #90701 (Record more artifact sizes during self-profiling.) - #90723 (Better document `Box` and `alloc::alloc::box_free` connection) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-11-09Rollup merge of #90723 - asquared31415:box_docs, r=jyn514Matthias Krüger-0/+3
Better document `Box` and `alloc::alloc::box_free` connection The internal `alloc::alloc::box_free` function requires that its signature matches the `owned_box` struct's declaration, but previously that connection was only documented on the `box_free` function. This PR makes the documentation two-way to help anyone making theoretical changes to `Box` to see the connection, since changes are more likely to originate from `Box`.
2021-11-09Rollup merge of #90701 - michaelwoerister:more-artifact-sizes, r=davidtwcoMatthias Krüger-0/+73
Record more artifact sizes during self-profiling. This PR adds artifact size recording for - "linked artifacts" (executables, RLIBs, dylibs, static libs) - object files - dwo files - assembly files - crate metadata - LLVM bitcode files - LLVM IR files - codegen unit size estimates Currently the identifiers emitted for these are hard-coded as string literals. Is it worth adding constants to https://github.com/rust-lang/measureme/blob/master/measureme/src/rustc.rs instead? We don't do that for query names and the like -- but artifact kinds might be more stable than query names.
2021-11-09Rollup merge of #90685 - jyn514:remove-dead-code, r=Mark-SimulacrumMatthias Krüger-7/+1
x.py: remove fixme by deleting code As far as I can tell, this parameter was never used, so just delete it as unnecessary.
2021-11-09Rollup merge of #90683 - jyn514:compiler-docs, r=Mark-SimulacrumMatthias Krüger-16/+5
Make `compiler-docs` only control the default instead of being a hard off-switch This also fixes `x doc src/tools/clippy` when compiler-docs is disabled. See https://github.com/rust-lang/rust/pull/90354#issuecomment-955854508. r? ``@Mark-Simulacrum``
2021-11-09Rollup merge of #90613 - GuillaumeGomez:specific-rustdoc-js-test, ↵Matthias Krüger-39/+64
r=Mark-Simulacrum Allow to run a specific rustdoc-js* test r? ``@Mark-Simulacrum``
2021-11-09Rollup merge of #90035 - SparrowLii:rfc2528, r=jackh726Matthias Krüger-54/+328
implement rfc-2528 type_changing-struct-update This PR implement rfc2528-type_changing-struct-update. The main change process is as follows: 1. Move the processing part of `base_expr` into `check_expr_struct_fields` to avoid returning `remaining_fields` (a relatively complex hash table) 2. Before performing the type consistency check(`check_expr_has_type_or_error`), if the `type_changing_struct_update` feature is set, enter a different processing flow, otherwise keep the original flow 3. In the case of the same structure definition, check each field in `remaining_fields`. If the field in `base_expr` is not the suptype of the field in `adt_ty`, an error(`FeildMisMatch`) will be reported. The MIR part does not need to be changed, because only the items contained in `remaining_fields` will be extracted from `base_expr` when MIR is generated. This means that fields with different types in `base_expr` will not be used Updates #86618 cc `@nikomatsakis`
2021-11-09Rollup merge of #89561 - nbdd0121:const_typeck, r=nikomatsakisMatthias Krüger-119/+656
Type inference for inline consts Fixes #78132 Fixes #78174 Fixes #81857 Fixes #89964 Perform type checking/inference of inline consts in the same context as the outer def, similar to what is currently done to closure. Doing so would require `closure_base_def_id` of the inline const to return the outer def, and since `closure_base_def_id` can be called on non-local crate (and thus have no HIR available), a new `DefKind` is created for inline consts. The type of the generated anon const can capture lifetime of outer def, so we couldn't just use the typeck result as the type of the inline const's def. Closure has a similar issue, and it uses extra type params `CK, CS, U` to capture closure kind, input/output signature and upvars. I use a similar approach for inline consts, letting it have an extra type param `R`, and then `typeof(InlineConst<[paremt generics], R>)` would just be `R`. In borrowck region requirements are also propagated to the outer MIR body just like it's currently done for closure. With this PR, inline consts in expression position are quitely usable now; however the usage in pattern position is still incomplete -- since those does not remain in the MIR borrowck couldn't verify the lifetime there. I have left an ignored test as a FIXME. Some disucssions can be found on [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/260443-project-const-generics/topic/inline.20consts.20typeck). cc `````@spastorino````` `````@lcnr````` r? `````@nikomatsakis````` `````@rustbot````` label A-inference F-inline_const T-compiler
2021-11-09Auto merge of #86041 - bstrie:unmagic-array-copy, r=jackh726bors-195/+35
Replace Copy/Clone compiler magic on arrays with library impls With const generics the compiler no longer needs to fake these impls.
2021-11-09Allow to run a specific rustdoc-js* testGuillaume Gomez-39/+64
2021-11-09Auto merge of #90724 - JohnTitor:rollup-zg0kbm3, r=JohnTitorbors-6/+154
Rollup of 6 pull requests Successful merges: - #87530 (Add comments regarding superfluous `!Sync` impls) - #90591 (treat illumos like solaris in failing ui tests which need it) - #90678 (Add some GATs-related regression tests) - #90688 (enable `dotprod` target feature in arm) - #90708 (Add a note about feature(explicit_generic_args_with_impl_trait) to the relevant error message) - #90720 (Update cargo) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-11-09Rollup merge of #90720 - ehuss:update-cargo, r=ehussYuki Okushi-4/+4
Update cargo 4 commits in 94ca096afbf25f670e76e07dca754fcfe27134be..2e2a16e983f597da62bc132eb191bc3276d4b1bb 2021-10-29 14:45:06 +0000 to 2021-11-08 15:13:38 +0000 - Fix debug panic on download with redirect body. (rust-lang/cargo#10048) - no need to clone (rust-lang/cargo#10051) - Update curl. (rust-lang/cargo#10040) - Fix --scrape-examples-target-crate using package name (with dashes) instead of crate name (with underscores) (rust-lang/cargo#10037)
2021-11-09Rollup merge of #90708 - NieDzejkob:feature-note, r=jackh726Yuki Okushi-0/+32
Add a note about feature(explicit_generic_args_with_impl_trait) to the relevant error message Fixes #90615
2021-11-09Rollup merge of #90688 - SparrowLii:dotprod, r=AmanieuYuki Okushi-0/+1
enable `dotprod` target feature in arm To implement `vdot` neon insturction in stdarch, we need to enable `dotprod` target feature in arm in rustc. r? `@Amanieu`
2021-11-09Rollup merge of #90678 - JohnTitor:add-some-gats-tests, r=jackh726Yuki Okushi-0/+101
Add some GATs-related regression tests Closes #88595, closes #90014 r? `@jackh726`
2021-11-09Rollup merge of #90591 - richlowe:illumos-ui-target, r=Mark-SimulacrumYuki Okushi-2/+5
treat illumos like solaris in failing ui tests which need it Just adding the right cfg target for tests which fail because they don't know illumos is a thing. (cc `````@jclulow)`````
2021-11-09Rollup merge of #87530 - bstrie:commentsync, r=bstrieYuki Okushi-0/+11
Add comments regarding superfluous `!Sync` impls
2021-11-09document Box and box_free connectionasquared31415-0/+3
2021-11-09Auto merge of #90700 - fee1-dead:select-returns-vec, r=davidtwcobors-143/+149
Make `select_*` methods return `Vec` for `TraitEngine` This reduces some complexity as an empty vec means no errors and non-empty vec means errors occurred.
2021-11-09Update cargoEric Huss-4/+4
2021-11-09Auto merge of #87337 - jyn514:lint-error, r=oli-obk,flip1995bors-211/+486
Don't abort compilation after giving a lint error The only reason to use `abort_if_errors` is when the program is so broken that either: 1. later passes get confused and ICE 2. any diagnostics from later passes would be noise This is never the case for lints, because the compiler has to be able to deal with `allow`-ed lints. So it can continue to lint and compile even if there are lint errors. Closes https://github.com/rust-lang/rust/issues/82761. This is a WIP because I have a feeling it will exit with 0 even if there were lint errors; I don't have a computer that can build rustc locally at the moment.
2021-11-09Auto merge of #90485 - camsteffen:fmt-args-less-bind, r=m-ou-sebors-37/+21
Don't destructure args tuple in format_args! This allows Clippy to parse the HIR more simply since `arg0` is changed to `_args.0`. (cc rust-lang/rust-clippy#7843). From rustc's perspective, I think this is something between a lateral move and a tiny improvement since there are fewer bindings. r? `@m-ou-se`
2021-11-09Auto merge of #90695 - GuillaumeGomez:rollup-kxvvw4o, r=GuillaumeGomezbors-49/+39
Rollup of 4 pull requests Successful merges: - #90494 (ARMv6K Horizon OS panic change) - #90652 (use filter(|x| matches!(..)) instead of filter_map(|x| match x ... => Some(xy))) - #90657 (Fix bug with `#[doc]` string single-character last lines) - #90689 (:arrow_up: rust-analyzer) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-11-09Add some GATs-related regression testsYuki Okushi-0/+101
2021-11-08Auto merge of #90443 - camelid:rustdoc-subst, r=GuillaumeGomezbors-118/+132
Merge `DocContext.{ty,lt,ct}_substs` into one map It should be impossible to have more than one entry with a particular key across the three maps, so they should be one map. In addition to making it impossible for multiple entries to exist, this should improve memory usage since now only one map is allocated on the stack and heap. r? `@GuillaumeGomez`
2021-11-08Attempt to address perf regressions with #[inline]bstrie-2/+4
2021-11-08Add a note about feature(explicit_generic_args_with_impl_trait) to the ↵Jakub Kądziołka-0/+32
relevant error message
2021-11-08Update Copy/Clone documentation WRT arraysbstrie-8/+3
2021-11-08impl Copy/Clone for arrays in std, not in compilerbstrie-187/+30
2021-11-08Add comments regarding superfluous `!Sync` implsbstrie-0/+11
2021-11-08Record more artifact sizes during self-profiling.Michael Woerister-0/+73
2021-11-08fmtDeadbeef-42/+18
2021-11-08Make select_* methods return Vec for TraitEngineDeadbeef-118/+148
2021-11-08Rollup merge of #90689 - lnicola:rust-analyzer-2021-11-08, r=lnicolaGuillaume Gomez-22/+16
:arrow_up: rust-analyzer r? ``@ghost``