]> git.lizzy.rs Git - rust.git/log
rust.git
23 months agorustdoc: make item-infos dimmer on dark theme #93896
Jacob Hoffman-Andrews [Wed, 27 Jul 2022 05:11:21 +0000 (22:11 -0700)]
rustdoc: make item-infos dimmer on dark theme #93896

Previously the item-info background colors were too bright for a dark
theme, making a bright rectangle that draws the attention.

23 months agoStabilize ptr_const_cast
Martin Habovstiak [Wed, 10 Aug 2022 15:22:58 +0000 (17:22 +0200)]
Stabilize ptr_const_cast

This stabilizes `ptr_const_cast` feature as was decided in a recent
[FCP](https://github.com/rust-lang/rust/issues/92675#issuecomment-1190660233)

Closes #92675

23 months agoAuto merge of #100260 - ehuss:compiletest-target-cfg, r=Mark-Simulacrum
bors [Wed, 10 Aug 2022 15:22:26 +0000 (15:22 +0000)]
Auto merge of #100260 - ehuss:compiletest-target-cfg, r=Mark-Simulacrum

compiletest: use target cfg instead of hard-coded tables

This changes compiletest to use `rustc --print=cfg` to dynamically determine the properties of a target when matching `ignore` and `only` rules instead of using hard-coded tables or target-triple parsing (which don't always follow the `<arch><sub>-<vendor>-<sys>-<abi>` pattern). The benefit here is that it will more accurately match the target properties, and not require maintaining these extra tables.

This also adds matching the `target_family` in ignore rules. The primary benefit here is so that `ignore-wasm` works as expected (matching all wasm-like targets). There were already several tests that had `ignore-wasm` in them (which previously had no effect), so it is evident that some people expected that to work. This also adds `ignore-unix/only-unix`.

There is some risk that this changes the behavior from before since the tables aren't quite the same as the target properties. However, I did fairly extensive comparisons to see what would be different. https://gist.github.com/ehuss/5bf7ab347605160cefb6f84ba5ea5f6b contains a full list of differences for all targets for all tests. I do not think any of the affected target/test combinations are things that are actually tested in CI. I tested several of the more unusual test images (test-various, dist-various-1, wasm32), and they seem fine.

A summary of most of the reasons behind the differences:

- wasm64-unknown-unknown wasm32-wasi now match "wasm"
- Targets now match "gnu" because they have target_env=gnu
    - aarch64-wrs-vxworks
    - armv7-wrs-vxworks-eabihf
    - i686-wrs-vxworks
    - powerpc-wrs-vxworks
    - powerpc64-wrs-vxworks
    - x86_64-wrs-vxworks
- wasm64-unknown-unknown now matches wasm64
- x86_64-unknown-none-linuxkernel no longer matches "linux", but will match "gnu" and "none"
- Various arm targets now match "aarch64" or "arm":
    - arm64_32-apple-watchos
    - armebv7r-none-eabi
    - armv6-unknown-freebsd
    - armv6-unknown-netbsd-eabihf
    - armv6k-nintendo-3ds
    - armv7-wrs-vxworks-eabihf
    - armv7a-kmc-solid_asp3-eabi
    - armv7a-kmc-solid_asp3-eabihf
    - armv7a-none-eabi
    - armv7a-none-eabihf
    - armv7k-apple-watchos
    - armv7r-none-eabi
    - armv7r-none-eabihf
- Now matches "thumb" and "arm"
    - thumbv4t-none-eabi
    - thumbv6m-none-eabi
    - thumbv7a-pc-windows-msvc
    - thumbv7a-uwp-windows-msvc
    - thumbv7em-none-eabi
    - thumbv7em-none-eabihf
    - thumbv7m-none-eabi
    - thumbv7neon-linux-androideabi
    - thumbv7neon-unknown-linux-gnueabihf
    - thumbv7neon-unknown-linux-musleabihf
    - thumbv8m.base-none-eabi
    - thumbv8m.main-none-eabi
- asmjs-unknown-emscripten now matches "wasm32" because that it is its defined arch
- avr-unknown-gnu-atmega328 now matches "none" (because target_os="none")
- now matches 64bit:
    - bpfeb-unknown-none
    - bpfel-unknown-none
    - sparcv9-sun-solaris
- now matches endian-big:
    - m68k-unknown-linux-gnu
- now matches 16bit:
    - msp430-none-elf
- now matches 32bit:
    - arm64_32-apple-watchos
- now matches riscv32 (and needs-asm-support):
    - riscv32gc-unknown-linux-gnu
    - riscv32gc-unknown-linux-musl
    - riscv32i-unknown-none-elf
    - riscv32im-unknown-none-elf
    - riscv32imac-unknown-none-elf
    - riscv32imac-unknown-xous-elf
    - riscv32imc-esp-espidf
    - riscv32imc-unknown-none-elf
    - riscv64imac-unknown-none-elf

23 months agostd: optimize thread ID generation
joboet [Mon, 1 Aug 2022 12:32:09 +0000 (14:32 +0200)]
std: optimize thread ID generation

23 months agoUpdate GUI test
Guillaume Gomez [Wed, 10 Aug 2022 13:50:20 +0000 (15:50 +0200)]
Update GUI test

23 months agoAdd missing ID into the ID map
Guillaume Gomez [Wed, 10 Aug 2022 13:37:18 +0000 (15:37 +0200)]
Add missing ID into the ID map

23 months agoTwo small improvements:
Frank Steffahn [Mon, 11 Jul 2022 19:52:26 +0000 (21:52 +0200)]
Two small improvements:

Fix oversight duplicate property left in CSS (dark theme).

Improve wording in comment that mentions `appearance: none`

23 months agoImprove crate selection on rustdoc search results page
Frank Steffahn [Sun, 3 Jul 2022 18:10:19 +0000 (20:10 +0200)]
Improve crate selection on rustdoc search results page

Resolves all of issue #93240

Reproduces a similar change as #99086, but with improvements

In particular, this PR inlcludes:
* redesigning the crate-search selector so the background color matches its surroundings
* decrease the font of the dropdown menu to a reaonable size
* add a hover effect
* make the color of the arrow theme-dependent, using a surrounding div, with :after pseudo-element
  that can then be transformed using CSS filters to approximate the desired color
* fix the text "in" to match the title font
* remove the "for xyz" in the "Results for xyz in [All crates]" title when
  searching for search term "xyz"; you can already see what you're searching for
  as it's typed in the search bar!
* in line with #99086, handle super-long crate names appropriately without a long <select>
  element escaping the screen area; the improvement is that we also keep the title
  within a single line now; uses some flex layout shenanigans...
* the margins / paddings are adjusted so the selected label of the <select> fits within
  the rest of that title nicely; also some inconsistency in the way that Firefox renders
  a <select> with "appearance: none" (roughly 4px more padding left and right of the text
  than e.g. Chrome) is worked around, and it now produces a result that looks (essentially)
  identical to Chrome
* the color of the help menu and settings menu border in light theme is made to match with
  the color of the corresponding buttons, like they do (match) in the ayu theme
* the casing of "All crates" changes to "all crates"
* the new tests from #99086 are temporarily disabled, until they can be adapted later

23 months agoremove Clean trait implementation for hir::GenericArgs
Guillaume Gomez [Wed, 10 Aug 2022 12:46:18 +0000 (14:46 +0200)]
remove Clean trait implementation for hir::GenericArgs

23 months agoremove Clean trait implementation for ty::AssocItem
Guillaume Gomez [Wed, 10 Aug 2022 12:40:18 +0000 (14:40 +0200)]
remove Clean trait implementation for ty::AssocItem

23 months agoInline CStr::from_bytes_with_nul_unchecked::rt_impl
Konrad Borowski [Wed, 10 Aug 2022 12:21:17 +0000 (12:21 +0000)]
Inline CStr::from_bytes_with_nul_unchecked::rt_impl

23 months agoerrors: don't fail on broken primary translations
David Wood [Wed, 10 Aug 2022 10:48:25 +0000 (11:48 +0100)]
errors: don't fail on broken primary translations

If a primary bundle doesn't contain a message then the fallback bundle
is used. However, if the primary bundle's message is broken (e.g. it
refers to a interpolated variable that the compiler isn't providing)
then this would just result in a compiler panic. While there aren't any
primary bundles right now, this is the type of issue that could come up
once translation is further along.

Signed-off-by: David Wood <david.wood@huawei.com>
23 months agoadd test
b-naber [Wed, 10 Aug 2022 07:58:53 +0000 (09:58 +0200)]
add test

23 months agoAuto merge of #100356 - matthiaskrgr:rollup-he0vkjc, r=matthiaskrgr
bors [Wed, 10 Aug 2022 06:09:10 +0000 (06:09 +0000)]
Auto merge of #100356 - matthiaskrgr:rollup-he0vkjc, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #99573 (Stabilize backtrace)
 - #100069 (Add error if link_ordinal used with unsupported link kind)
 - #100086 (Add more `// unit-test`s to MIR opt tests)
 - #100332 (Rename integer log* methods to ilog*)
 - #100334 (Suggest a missing semicolon before an array)
 - #100340 (Iterate generics_def_id_map in reverse order to fix P-critical issue)
 - #100345 (docs: remove repetition in `is_numeric` function docs)
 - #100352 (Update cargo)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

23 months agoRollup merge of #100352 - ehuss:update-cargo, r=ehuss
Matthias Krüger [Wed, 10 Aug 2022 05:21:40 +0000 (07:21 +0200)]
Rollup merge of #100352 - ehuss:update-cargo, r=ehuss

Update cargo

7 commits in 4fd148c47e733770c537efac5220744945d572ef..ce40690a5e4e315d3dab0aae1eae69d0252c52ac
2022-08-03 15:03:52 +0000 to 2022-08-09 22:32:17 +0000
- Make the `rust-version` error recommend `cargo update --precise -p crate@ver` (rust-lang/cargo#10891)
- resolver docs: link to version requirements syntax full explanation (rust-lang/cargo#10946)
- Bump os_info to 3.5.0 (rust-lang/cargo#10943)
- Mark --timings=html unstable in the document (rust-lang/cargo#10941)
- Mention that aliases are recursive (rust-lang/cargo#10935)
- Test if reserved filenames are allowed in Windows (rust-lang/cargo#10322)
- improve error message for `no such subcommand` (rust-lang/cargo#10924)

23 months agoUpdate cargo
Eric Huss [Wed, 10 Aug 2022 11:07:57 +0000 (04:07 -0700)]
Update cargo

23 months agoRollup merge of #100345 - vincenzopalazzo:macros/is_number_doc, r=joshtriplett
Matthias Krüger [Wed, 10 Aug 2022 05:21:39 +0000 (07:21 +0200)]
Rollup merge of #100345 - vincenzopalazzo:macros/is_number_doc, r=joshtriplett

docs: remove repetition in `is_numeric` function docs

In https://github.com/rust-lang/rust/pull/99628 we introduce new docs for the `is_numeric` function, and this is a follow-up PR that removes some unnecessary repetition that may be introduced by some rebasing.

`@rustbot` r? `@joshtriplett`

23 months agoRollup merge of #100340 - spastorino:fix-100187, r=compiler-errors
Matthias Krüger [Wed, 10 Aug 2022 05:21:38 +0000 (07:21 +0200)]
Rollup merge of #100340 - spastorino:fix-100187, r=compiler-errors

Iterate generics_def_id_map in reverse order to fix P-critical issue

Closes #100187

Fixes a `P-critical` beta regression.

23 months agoRollup merge of #100334 - TaKO8Ki:suggest-missing-semicolon-before-array, r=fee1...
Matthias Krüger [Wed, 10 Aug 2022 05:21:37 +0000 (07:21 +0200)]
Rollup merge of #100334 - TaKO8Ki:suggest-missing-semicolon-before-array, r=fee1-dead

Suggest a missing semicolon before an array

fixes #99658

23 months agoRollup merge of #100332 - eholk:stabilize-ilog, r=scottmcm
Matthias Krüger [Wed, 10 Aug 2022 05:21:36 +0000 (07:21 +0200)]
Rollup merge of #100332 - eholk:stabilize-ilog, r=scottmcm

Rename integer log* methods to ilog*

This reflects the concensus from the libs team as reported at https://github.com/rust-lang/rust/issues/70887#issuecomment-1209513261.

Joint work with `@yoshuawuyts.`

23 months agoRollup merge of #100086 - JakobDegen:better-tests, r=wesleyweiser
Matthias Krüger [Wed, 10 Aug 2022 05:21:35 +0000 (07:21 +0200)]
Rollup merge of #100086 - JakobDegen:better-tests, r=wesleyweiser

Add more `// unit-test`s to MIR opt tests

I only changed things which are hopefully completely uninteresting. I plan to submit more PRs that cover more files, but those cases will need some more complicated (and hence possibly controversial) changes, so I'll try and submit those in reasonably sized batches.

r? rust-lang/wg-mir-opt

23 months agoRollup merge of #100069 - dpaoliello:linkordinal, r=michaelwoerister
Matthias Krüger [Wed, 10 Aug 2022 05:21:34 +0000 (07:21 +0200)]
Rollup merge of #100069 - dpaoliello:linkordinal, r=michaelwoerister

Add error if link_ordinal used with unsupported link kind

The `link_ordinal` attribute only has an affect if the `raw-dylib` link kind is used, so add an error if it is used with any other link kind.

23 months agoRollup merge of #99573 - tbodt:stabilize-backtrace, r=yaahc
Matthias Krüger [Wed, 10 Aug 2022 05:21:33 +0000 (07:21 +0200)]
Rollup merge of #99573 - tbodt:stabilize-backtrace, r=yaahc

Stabilize backtrace

This PR stabilizes the std::backtrace module. As of #99431, the std::Error::backtrace item has been removed, and so the rest of the backtrace feature is set to be stabilized.

Previous discussion can be found in #72981, #3156.

Stabilized API summary:
```rust
pub mod std {
    pub mod backtrace {
        pub struct Backtrace { }
        pub enum BacktraceStatus {
            Unsupported,
            Disabled,
            Captured,
        }
        impl fmt::Debug for Backtrace {}
        impl Backtrace {
            pub fn capture() -> Backtrace;
            pub fn force_capture() -> Backtrace;
            pub const fn disabled() -> Backtrace;
            pub fn status(&self) -> BacktraceStatus;
        }
        impl fmt::Display for Backtrace {}
    }
}
```

`@yaahc`

23 months agoFix failing test
Noah Lev [Wed, 10 Aug 2022 04:13:31 +0000 (21:13 -0700)]
Fix failing test

For some reason, adding some text to match against makes this test pass.
Before, when it was *more* general, it was failing!

This seems very likely to be a bug in htmldocck, which I'm going to
investigate.

23 months agoFix doc links in core::time::Duration::as_secs
Anton Romanov [Wed, 10 Aug 2022 04:15:06 +0000 (21:15 -0700)]
Fix doc links in core::time::Duration::as_secs

23 months agoUse &mut Diagnostic instead of &mut DiagnosticBuilder unless needed
Michael Goulet [Wed, 10 Aug 2022 03:39:41 +0000 (03:39 +0000)]
Use &mut Diagnostic instead of &mut DiagnosticBuilder unless needed

23 months agoStringify non-shorthand visibility correctly
Jacob Pratt [Wed, 10 Aug 2022 03:31:45 +0000 (23:31 -0400)]
Stringify non-shorthand visibility correctly

23 months agoAuto merge of #100346 - matthiaskrgr:rollup-6rljn4p, r=matthiaskrgr
bors [Wed, 10 Aug 2022 03:21:23 +0000 (03:21 +0000)]
Auto merge of #100346 - matthiaskrgr:rollup-6rljn4p, r=matthiaskrgr

Rollup of 14 pull requests

Successful merges:

 - #98775 (rustdoc: improve scroll locking in the rustdoc mobile sidebars)
 - #99479 (rustdoc-json: Remove doc FIXME for Import::id and explain)
 - #100040 (Error on broken pipe but do not backtrace or ICE)
 - #100072 (linker-plugin-lto.md: Correct the name of example c file)
 - #100098 (Some "this expression has a field"-related fixes)
 - #100226 (Do not manually craft a span pointing inside a multibyte character.)
 - #100240 (Fail gracefully when const pattern is not structural match.)
 - #100256 (Add some high-level docs to `FnCtxt` and `ItemCtxt`)
 - #100261 (Set tainted errors bit before emitting coerce suggestions.)
 - #100275 (also update anyhow in codegen_cranelift)
 - #100281 (Remove more Clean trait implementations)
 - #100314 (Mention `unit-test` in MIR opt test README)
 - #100319 (Remove more Clean trait implementations)
 - #100323 ([rustdoc] Don't render impl blocks with doc comment if they only contain private items by default)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

23 months agorustdoc: simplify highlight.rs
Jacob Hoffman-Andrews [Sat, 16 Jul 2022 16:07:40 +0000 (09:07 -0700)]
rustdoc: simplify highlight.rs

Split render_with_highlighting, which took many optional parameters, into three
functions for specific purposes, which each take a smaller number of mostly
required parameters.

Remove some plumbing to pass through an "edition" parameter, which was used
solely to avoid highlighting some 2021 Edition keywords in non-2021 code.

23 months agoAdd regression test for #93205
Noah Lev [Tue, 9 Aug 2022 23:08:42 +0000 (16:08 -0700)]
Add regression test for #93205

This issue was most likely fixed by #93805.

23 months agoremove a type string comparison
Takayuki Maeda [Wed, 10 Aug 2022 02:42:46 +0000 (11:42 +0900)]
remove a type string comparison

23 months agoAdd a couple more AST node size assertions.
Nicholas Nethercote [Wed, 10 Aug 2022 00:06:38 +0000 (10:06 +1000)]
Add a couple more AST node size assertions.

23 months agoAvoid repeating qualifiers on `static_assert_size` calls.
Nicholas Nethercote [Tue, 9 Aug 2022 23:47:59 +0000 (09:47 +1000)]
Avoid repeating qualifiers on `static_assert_size` calls.

Some of these don't need a `use` statement because there is already a
`#[macro_use] extern crate rustc_data_structures` item in the crate.

23 months agoAdd more `// unit-test`s to MIR opt tests
Jakob Degen [Wed, 3 Aug 2022 00:44:25 +0000 (17:44 -0700)]
Add more `// unit-test`s to MIR opt tests

23 months agoApply suggestions from code review
Jane Losare-Lusby [Tue, 9 Aug 2022 22:59:53 +0000 (15:59 -0700)]
Apply suggestions from code review

23 months agoRollup merge of #100323 - GuillaumeGomez:impl-blocks-only-private, r=notriddle
Matthias Krüger [Tue, 9 Aug 2022 22:00:37 +0000 (00:00 +0200)]
Rollup merge of #100323 - GuillaumeGomez:impl-blocks-only-private, r=notriddle

[rustdoc] Don't render impl blocks with doc comment if they only contain private items by default

Fixes #100001.

cc `@jhpratt`
r? `@notriddle`

23 months agoRollup merge of #100319 - GuillaumeGomez:rm-clean-impls-2, r=Dylan-DPC
Matthias Krüger [Tue, 9 Aug 2022 22:00:36 +0000 (00:00 +0200)]
Rollup merge of #100319 - GuillaumeGomez:rm-clean-impls-2, r=Dylan-DPC

Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? ``@Dylan-DPC``

23 months agoRollup merge of #100314 - JakobDegen:test-docs, r=RalfJung
Matthias Krüger [Tue, 9 Aug 2022 22:00:35 +0000 (00:00 +0200)]
Rollup merge of #100314 - JakobDegen:test-docs, r=RalfJung

Mention `unit-test` in MIR opt test README

r? `@RalfJung`

23 months agoRollup merge of #100281 - GuillaumeGomez:rm-clean-impls-3, r=notriddle
Matthias Krüger [Tue, 9 Aug 2022 22:00:34 +0000 (00:00 +0200)]
Rollup merge of #100281 - GuillaumeGomez:rm-clean-impls-3, r=notriddle

Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? `@notriddle`

23 months agoRollup merge of #100275 - RalfJung:anyhow, r=bjorn3
Matthias Krüger [Tue, 9 Aug 2022 22:00:33 +0000 (00:00 +0200)]
Rollup merge of #100275 - RalfJung:anyhow, r=bjorn3

also update anyhow in codegen_cranelift

now that is has been un-yanked
r? ``@bjorn3``

23 months agoRollup merge of #100261 - luqmana:suggestions-overflow, r=lcnr
Matthias Krüger [Tue, 9 Aug 2022 22:00:32 +0000 (00:00 +0200)]
Rollup merge of #100261 - luqmana:suggestions-overflow, r=lcnr

Set tainted errors bit before emitting coerce suggestions.

Fixes #100246.

#89576 basically got 99% of the way there but the match typechecking code (which calls `coerce_inner`) also needed a similar fix.

23 months agoRollup merge of #100256 - camelid:typeck-ctxt-doc, r=compiler-errors
Matthias Krüger [Tue, 9 Aug 2022 22:00:31 +0000 (00:00 +0200)]
Rollup merge of #100256 - camelid:typeck-ctxt-doc, r=compiler-errors

Add some high-level docs to `FnCtxt` and `ItemCtxt`

I haven't understood the difference between these before, but
``@compiler-errors`` helped me clear it up. Hopefully this will help other
people who've been confused!

r? `@compiler-errors`

23 months agoRollup merge of #100240 - cjgillot:noice-structural-match, r=davidtwco
Matthias Krüger [Tue, 9 Aug 2022 22:00:30 +0000 (00:00 +0200)]
Rollup merge of #100240 - cjgillot:noice-structural-match, r=davidtwco

Fail gracefully when const pattern is not structural match.

Fixes https://github.com/rust-lang/rust/issues/82909

23 months agoRollup merge of #100226 - cjgillot:noice-multibyte, r=davidtwco
Matthias Krüger [Tue, 9 Aug 2022 22:00:29 +0000 (00:00 +0200)]
Rollup merge of #100226 - cjgillot:noice-multibyte, r=davidtwco

Do not manually craft a span pointing inside a multibyte character.

Fixes https://github.com/rust-lang/rust/issues/92462

23 months agoRollup merge of #100098 - compiler-errors:field-suggestion-fixups, r=davidtwco
Matthias Krüger [Tue, 9 Aug 2022 22:00:28 +0000 (00:00 +0200)]
Rollup merge of #100098 - compiler-errors:field-suggestion-fixups, r=davidtwco

Some "this expression has a field"-related fixes

Each commit does something different and is worth reviewing, but the final diff from `master..HEAD` contains the sum of the changes to the UI tests, since some commits added UI tests "regressions" which were later removed in other commits.

The only change I could see adding on top of this is suppressing `Clone::clone` from the "this expression has a field that has this method" suggestion, since it's so commonly implemented by types that it's not worthwhile suggesting in general.

23 months agoRollup merge of #100072 - oToToT:patch-1, r=michaelwoerister
Matthias Krüger [Tue, 9 Aug 2022 22:00:27 +0000 (00:00 +0200)]
Rollup merge of #100072 - oToToT:patch-1, r=michaelwoerister

linker-plugin-lto.md: Correct the name of example c file

The final output is linked with `cmain.o`, but we use `main.o` in the example.
This patch changes the name to `cmain.c` and `cmain.o` as the "C/C++ code as a dependency in Rust" section.

23 months agoRollup merge of #100040 - ChrisDenton:broken-pipe, r=davidtwco
Matthias Krüger [Tue, 9 Aug 2022 22:00:26 +0000 (00:00 +0200)]
Rollup merge of #100040 - ChrisDenton:broken-pipe, r=davidtwco

Error on broken pipe but do not backtrace or ICE

Windows will report a broken pipe as a normal error which in turn `println!` will panic on. Currently this causes rustc to produce a backtrace and ICE. However, this is not a bug with rustc so a backtrace is overly verbose and ultimately unhelpful to the user.

Kind of fixes #98700. Although this is admittedly a bit of a hack because at panic time all we have is a string to inspect. On zulip it was suggested that libstd might someday provide a way to indicate a soft panic but that day isn't today.

23 months agoRollup merge of #99479 - Enselic:import-can-be-without-id, r=camelid
Matthias Krüger [Tue, 9 Aug 2022 22:00:24 +0000 (00:00 +0200)]
Rollup merge of #99479 - Enselic:import-can-be-without-id, r=camelid

rustdoc-json: Remove doc FIXME for Import::id and explain

Also add some test and refactor related code a bit.

``@rustbot`` labels +A-rustdoc-json +T-rustdoc

23 months agoRollup merge of #98775 - notriddle:notriddle/mobile-sidebar-scroll-lock, r=jsha
Matthias Krüger [Tue, 9 Aug 2022 22:00:23 +0000 (00:00 +0200)]
Rollup merge of #98775 - notriddle:notriddle/mobile-sidebar-scroll-lock, r=jsha

rustdoc: improve scroll locking in the rustdoc mobile sidebars

This PR prevents the main content area from scrolling while the mobile sidebar is open on documentation pages (porting the scroll locking behavior from the source sidebar to the regular sidebar), and also fixes some bad behavior where opening a "mobile" sidebar, and growing the viewport so that the "desktop" mode without scroll locking is activated, could potentially leave the page stuck.

This does not affect the behavior on larger screens. Only small ones, where the sidebar covers up the main content.

Split out from #98772

23 months agodocs: remove repetition
Vincenzo Palazzo [Tue, 9 Aug 2022 21:52:22 +0000 (21:52 +0000)]
docs: remove repetition

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
23 months agoLLVM lib unwind fuchsia config
Andrew Pollack [Tue, 9 Aug 2022 17:59:10 +0000 (17:59 +0000)]
LLVM lib unwind fuchsia config

Removing libunwind from Fuchsia target docs

23 months agoAuto merge of #100150 - notriddle:notriddle/implementors-js, r=GuillaumeGomez
bors [Tue, 9 Aug 2022 20:00:58 +0000 (20:00 +0000)]
Auto merge of #100150 - notriddle:notriddle/implementors-js, r=GuillaumeGomez

rustdoc: use a more compact encoding for implementors/trait.*.js

The exact amount that this reduces the size of an implementors file depends on whether most of the impls are synthetic or not. For `Send`, it reduces the file from 128K to 112K, while for `Clone` it went from 64K to 44K.

23 months agoAdd docs for get_remapped_def_id
Santiago Pastorino [Tue, 9 Aug 2022 19:39:02 +0000 (16:39 -0300)]
Add docs for get_remapped_def_id

23 months agoIterate def_ids map backwards to try first the latest mappings (it's a stack)
Santiago Pastorino [Tue, 9 Aug 2022 19:33:19 +0000 (16:33 -0300)]
Iterate def_ids map backwards to try first the latest mappings (it's a stack)

23 months agoadded some comments
shourya5 [Tue, 9 Aug 2022 19:25:07 +0000 (00:55 +0530)]
added some comments

23 months agoUpdate rustdoc-json test
Eric Holk [Tue, 9 Aug 2022 19:06:54 +0000 (12:06 -0700)]
Update rustdoc-json test

23 months agoAdd regression test for issue 100187
Santiago Pastorino [Tue, 9 Aug 2022 18:42:59 +0000 (15:42 -0300)]
Add regression test for issue 100187

23 months agoMove folding into just projection cases
Michael Goulet [Tue, 9 Aug 2022 18:19:58 +0000 (18:19 +0000)]
Move folding into just projection cases

23 months agoAdd error if link_ordinal used without raw-dylib
Daniel Paoliello [Tue, 2 Aug 2022 17:33:27 +0000 (10:33 -0700)]
Add error if link_ordinal used without raw-dylib

23 months agoSwitching documentation to be more clear about potential errors
Dan Vail [Tue, 9 Aug 2022 17:57:19 +0000 (12:57 -0500)]
Switching documentation to be more clear about potential errors

23 months agoMerge branch 'rust-lang:master' into issue-98861-fix
Dan Vail [Tue, 9 Aug 2022 17:52:11 +0000 (12:52 -0500)]
Merge branch 'rust-lang:master' into issue-98861-fix

23 months agoAddress review comments
Noah Lev [Mon, 8 Aug 2022 04:16:47 +0000 (21:16 -0700)]
Address review comments

23 months agosuggest a missing semicolon before an array
Takayuki Maeda [Tue, 9 Aug 2022 17:29:28 +0000 (02:29 +0900)]
suggest a missing semicolon before an array

23 months agoreplaced resume_unwind with process::exit to fix
shourya5 [Tue, 9 Aug 2022 17:25:57 +0000 (22:55 +0530)]
replaced resume_unwind with process::exit to fix
bootstrap panic when running x fmt --check.
running x fmt --check

23 months agoRename integer log* methods to ilog*
Eric Holk [Tue, 9 Aug 2022 17:20:49 +0000 (10:20 -0700)]
Rename integer log* methods to ilog*

This reflects the concensus from the libs team as reported at
https://github.com/rust-lang/rust/issues/70887#issuecomment-1209513261

Co-authored-by: Yosh Wuyts <github@yosh.is>
23 months agomove an `assert!` to the right place
Waffle Maybe [Tue, 9 Aug 2022 17:19:19 +0000 (21:19 +0400)]
move an `assert!` to the right place

23 months agofix
b-naber [Tue, 9 Aug 2022 17:12:14 +0000 (19:12 +0200)]
fix

23 months agoMention `unit-test` in MIR opt test README
Jakob Degen [Tue, 9 Aug 2022 08:44:32 +0000 (01:44 -0700)]
Mention `unit-test` in MIR opt test README

23 months agoAuto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr
bors [Tue, 9 Aug 2022 16:39:43 +0000 (16:39 +0000)]
Auto merge of #99217 - lcnr:implied-bounds-pre-norm, r=lcnr

consider unnormalized types for implied bounds

extracted, and slightly modified, from #98900

The idea here is that generally, rustc is split into things which can assume its inputs are well formed[^1], and things which have verify that themselves.

Generally most predicates should only deal with well formed inputs, e.g. a `&'a &'b (): Trait` predicate should be able to assume that `'b: 'a` holds. Normalization can loosen wf requirements (see #91068) and must therefore not be used in places which still have to check well formedness. The only such place should hopefully be `WellFormed` predicates

fixes #87748 and #98543

r? `@jackh726` cc `@rust-lang/types`

[^1]: These places may still encounter non-wf inputs and have to deal with them without causing an ICE as we may check for well formedness out of order.

23 months agopasses: load `defined_lib_features` query less
David Wood [Tue, 2 Aug 2022 16:27:18 +0000 (17:27 +0100)]
passes: load `defined_lib_features` query less

Re-structure the stability checks for library features to avoid calling
`defined_lib_features` for any more crates than necessary for each of
the implications or local feature attributes that need validation.

23 months agoAdd test for impl blocks containing only private items
Guillaume Gomez [Tue, 9 Aug 2022 13:49:55 +0000 (15:49 +0200)]
Add test for impl blocks containing only private items

23 months agoAuto merge of #100318 - Dylan-DPC:rollup-18tzp6q, r=Dylan-DPC
bors [Tue, 9 Aug 2022 13:51:33 +0000 (13:51 +0000)]
Auto merge of #100318 - Dylan-DPC:rollup-18tzp6q, r=Dylan-DPC

Rollup of 7 pull requests

Successful merges:

 - #96478 (Implement `#[rustc_default_body_unstable]`)
 - #99787 (Rustdoc-Json: Document HRTB's on DynTrait)
 - #100181 (add method to get the mutability of an AllocId)
 - #100221 (Don't document impossible to call default trait items on impls)
 - #100228 (Don't ICE while suggesting updating item path.)
 - #100301 (Avoid `&str` to `String` conversions)
 - #100305 (Suggest adding an appropriate missing pattern excluding comments)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

23 months agoPrevent impl blocks containing only private items to be documented by default
Guillaume Gomez [Tue, 9 Aug 2022 13:39:58 +0000 (15:39 +0200)]
Prevent impl blocks containing only private items to be documented by default

23 months agocompare with-flag to without-flag
Ralf Jung [Tue, 9 Aug 2022 13:40:44 +0000 (09:40 -0400)]
compare with-flag to without-flag

23 months agotest implied bounds + nested proj oblig
lcnr [Tue, 9 Aug 2022 11:05:46 +0000 (13:05 +0200)]
test implied bounds + nested proj oblig

23 months agodont rely on old macro-in-trait-impl bug
Ralf Jung [Tue, 9 Aug 2022 12:23:16 +0000 (08:23 -0400)]
dont rely on old macro-in-trait-impl bug

23 months agoremove Clean trait implementation for ast::Module
Guillaume Gomez [Mon, 8 Aug 2022 16:00:42 +0000 (18:00 +0200)]
remove Clean trait implementation for ast::Module

23 months agoRollup merge of #100305 - TaKO8Ki:suggest-adding-appropriate-missing-pattern-excludin...
Dylan DPC [Tue, 9 Aug 2022 12:04:57 +0000 (17:34 +0530)]
Rollup merge of #100305 - TaKO8Ki:suggest-adding-appropriate-missing-pattern-excluding-comments, r=compiler-errors

Suggest adding an appropriate missing pattern excluding comments

fixes #100272

23 months agoRollup merge of #100301 - TaKO8Ki:avoid-&str-to-String-conversions, r=compiler-errors
Dylan DPC [Tue, 9 Aug 2022 12:04:56 +0000 (17:34 +0530)]
Rollup merge of #100301 - TaKO8Ki:avoid-&str-to-String-conversions, r=compiler-errors

Avoid `&str` to `String` conversions

This patch removes the recently added unnecessary `&str` to `String` conversions.

follow-up to #99718

23 months agoRollup merge of #100228 - luqmana:suggestion-ice, r=estebank
Dylan DPC [Tue, 9 Aug 2022 12:04:55 +0000 (17:34 +0530)]
Rollup merge of #100228 - luqmana:suggestion-ice, r=estebank

Don't ICE while suggesting updating item path.

When an item isn't found, we may suggest an appropriate import to `use`. Along with that, we also suggest updating the path to work with the `use`. Unfortunately, if the code in question originates from a macro, the span used to indicate which part of the path needs updating may not be suitable and cause an ICE (*). Since, such code is not adjustable directly by the user without modifying the macro, just skip the suggestion in such cases.

(*) The ICE happens because the emitter want to indicate to the user what code to delete by referencing a certain span. But in this case, said span has `lo == hi == 0` which means it thinks it's a dummy span. Adding a space before the proc macro attribute is enough to stop it from ICE'ing but even then the suggestion doesn't really make any sense:
```
help: if you import `DataStore`, refer to it directly
  |
1 -  #[dbstruct::dbstruct]
1 +  #[dbstruct::dbstruct]
```

Since suggestions are best-effort, I just gated this one on `can_be_used_for_suggestions` which catches cases like this.

Fixes #100199

23 months agoRollup merge of #100221 - compiler-errors:impossible-trait-items, r=lcnr,notriddle...
Dylan DPC [Tue, 9 Aug 2022 12:04:54 +0000 (17:34 +0530)]
Rollup merge of #100221 - compiler-errors:impossible-trait-items, r=lcnr,notriddle,camelid

Don't document impossible to call default trait items on impls

Closes #100176

This only skips documenting _default_ trait items on impls, not ones that are written inside the impl block. This is a conservative approach, since I think we should document all items written in an impl block (I guess unless hidden or whatever), but the existence of this new query I added makes this easy to extend to other rustdoc cases.

23 months agoRollup merge of #100181 - RalfJung:alloc-ref-mutability, r=jackh726
Dylan DPC [Tue, 9 Aug 2022 12:04:52 +0000 (17:34 +0530)]
Rollup merge of #100181 - RalfJung:alloc-ref-mutability, r=jackh726

add method to get the mutability of an AllocId

Miri needs this for https://github.com/rust-lang/miri/issues/2463.

23 months agoRollup merge of #99787 - aDotInTheVoid:rdj-dyn, r=camelid,notriddle,GuillaumeGomez
Dylan DPC [Tue, 9 Aug 2022 12:04:51 +0000 (17:34 +0530)]
Rollup merge of #99787 - aDotInTheVoid:rdj-dyn, r=camelid,notriddle,GuillaumeGomez

Rustdoc-Json: Document HRTB's on DynTrait

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

Probably best reviewed commit by commit.

`@rustbot` modify labels: +A-rustdoc-json

cc `@Enselic`

r? `@CraftSpider`

23 months agoRollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011
Dylan DPC [Tue, 9 Aug 2022 12:04:50 +0000 (17:34 +0530)]
Rollup merge of #96478 - WaffleLapkin:rustc_default_body_unstable, r=Aaron1011

Implement `#[rustc_default_body_unstable]`

This PR implements a new stability attribute — `#[rustc_default_body_unstable]`.

`#[rustc_default_body_unstable]` controls the stability of default bodies in traits.
For example:
```rust
pub trait Trait {
    #[rustc_default_body_unstable(feature = "feat", isssue = "none")]
    fn item() {}
}
```
In order to implement `Trait` user needs to either
- implement `item` (even though it has a default implementation)
- enable `#![feature(feat)]`

This is useful in conjunction with [`#[rustc_must_implement_one_of]`](https://github.com/rust-lang/rust/pull/92164), we may want to relax requirements for a trait, for example allowing implementing either of `PartialEq::{eq, ne}`, but do so in a safe way — making implementation of only `PartialEq::ne` unstable.

r? `@Aaron1011`
cc `@nrc` (iirc you were interested in this wrt `read_buf`), `@danielhenrymantilla` (you were interested in the related `#[rustc_must_implement_one_of]`)
P.S. This is my first time working with stability attributes, so I'm not sure if I did everything right 😅

23 months agoRemove logic related to deprecated nvptx-nvidia-cuda (32-bit) target
Kjetil Kjeka [Tue, 9 Aug 2022 11:29:06 +0000 (13:29 +0200)]
Remove logic related to deprecated nvptx-nvidia-cuda (32-bit) target

23 months agoAuto merge of #100089 - JakobDegen:no-invalidate-visitor, r=tmiasko
bors [Tue, 9 Aug 2022 11:05:42 +0000 (11:05 +0000)]
Auto merge of #100089 - JakobDegen:no-invalidate-visitor, r=tmiasko

Add option to `mir::MutVisitor` to not invalidate CFG.

This also applies that option to some uses of the visitor. I had considered a design more similar to #100087 in which we detect if the CFG needs to be invalidated, but that is more difficult with the visitor API and so I decided against it. Another alternative to this design is to offer an API for "saving" and "restoring" CFG caches across arbitrary code. Such an API is more general, and so we may eventually want it anyway, but it seems overkill for this use case.

r? `@tmiasko`

23 months agodon't normalize wf predicates
lcnr [Wed, 13 Jul 2022 17:42:08 +0000 (19:42 +0200)]
don't normalize wf predicates

this allows us to soundly use unnormalized projections for wf

23 months agoExplicitly disable zstd support
Nikita Popov [Fri, 5 Aug 2022 07:47:52 +0000 (09:47 +0200)]
Explicitly disable zstd support

Make sure we don't pick up a libzstd.so dependency if it happens
to be installed on the system.

23 months agoFix coverage-llvmir test on Windows
Nikita Popov [Wed, 3 Aug 2022 08:22:15 +0000 (10:22 +0200)]
Fix coverage-llvmir test on Windows

@__llvm_profile_runtime is how an external hidden global.

23 months agoLink libatomic on 32-bit targets
Nikita Popov [Mon, 1 Aug 2022 08:02:10 +0000 (10:02 +0200)]
Link libatomic on 32-bit targets

This is needed since https://reviews.llvm.org/D128070.

23 months agoPass +atomics-32 feature for thumbv6m target
Nikita Popov [Wed, 27 Jul 2022 12:26:00 +0000 (14:26 +0200)]
Pass +atomics-32 feature for thumbv6m target

https://reviews.llvm.org/D120026 changed atomics on thumbv6m to
use libatomic, to ensure that atomic load/store are compatible with
atomic RMW/CAS. However, Rust wants to expose only load/store
without libcalls.

https://reviews.llvm.org/D130480 added support for this behind
the +atomics-32 target feature, so enable that feature.

23 months agoAllow old toolchain on some images
Nikita Popov [Tue, 19 Jul 2022 13:35:40 +0000 (15:35 +0200)]
Allow old toolchain on some images

LLVM 16 will require GCC >= 7.1. For now, set the flag that
allows using an older toolchain.

23 months agoUpdate LLVM submodule
Nikita Popov [Tue, 19 Jul 2022 07:40:24 +0000 (09:40 +0200)]
Update LLVM submodule

23 months agoKeep going if normalized projection has unevaluated consts in QueryNormalizer
Michael Goulet [Tue, 9 Aug 2022 09:41:23 +0000 (09:41 +0000)]
Keep going if normalized projection has unevaluated consts in QueryNormalizer

23 months agoAdd support for link-flavor rust-lld for macOS
Mary [Tue, 9 Aug 2022 09:04:48 +0000 (11:04 +0200)]
Add support for link-flavor rust-lld for macOS

Also refactor iOS, watchOS and tvOS common code.

23 months agoAdd option to `mir::MutVisitor` to not invalidate CFG.
Jakob Degen [Wed, 3 Aug 2022 03:06:16 +0000 (20:06 -0700)]
Add option to `mir::MutVisitor` to not invalidate CFG.

This also applies that option to some uses of the visitor

23 months agoAuto merge of #100304 - matthiaskrgr:rollup-gs56vlw, r=matthiaskrgr
bors [Tue, 9 Aug 2022 08:03:08 +0000 (08:03 +0000)]
Auto merge of #100304 - matthiaskrgr:rollup-gs56vlw, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #100163 (Refactor: remove an unnecessary string search)
 - #100212 (Remove more Clean trait implementations)
 - #100238 (Further improve error message for E0081)
 - #100268 (Add regression test for #79148)
 - #100294 (Update Duration::as_secs doc to point to as_secs_f64/32 for including fractional part)
 - #100303 (:arrow_up: rust-analyzer)

Failed merges:

 - #100281 (Remove more Clean trait implementations)

r? `@ghost`
`@rustbot` modify labels: rollup

23 months agocompiletest: Add warning and comment about running tests without RUSTC
Eric Huss [Tue, 9 Aug 2022 05:51:16 +0000 (22:51 -0700)]
compiletest: Add warning and comment about running tests without RUSTC

23 months agoMove JSON tests into a directory.
Nicholas Nethercote [Tue, 9 Aug 2022 05:31:23 +0000 (15:31 +1000)]
Move JSON tests into a directory.

To get around the "following path contains more than 968 entries, you
should move the test to some relevant subdirectory" tidy error.

23 months agosuggest adding an appropriate missing pattern excluding comments
Takayuki Maeda [Tue, 9 Aug 2022 05:27:26 +0000 (14:27 +0900)]
suggest adding an appropriate missing pattern excluding comments