| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
r=GuillaumeGomez
rustdoc: clean up src sidebar toggle position CSS
This PR makes the `464px` version of `#src-sidebar-toggle` the same as the `700px` version, with the button lower on the page so that it doesn't cover up the search form, and removes the left margin to make space for it.
## Before

## After

|
|
Fix incorrect span when using byte-escaped rbrace
Fix #103826, a format args span issue introduced in #102214.
The current solution for tracking skipped characters made it so that certain situations were ambiguous enough that the original span couldn't be worked out later. This PR improves on the original solution by keeping track of groups of skipped characters using a map, and fixes the previous bug. See an example of this ambiguity in the [previous PR's discussion](https://github.com/rust-lang/rust/pull/102214#issuecomment-1258711015).
|
|
Don't perform invalid checks in `codegen_attrs`
The attributes `#[track_caller]` and `#[cmse_nonsecure_entry]` are only valid on functions. When validating one of these attributes, codegen_attrs previously called `fn_sig`, [which can only be used on functions](https://github.com/rust-lang/rust/pull/105201), on the item the attribute was attached to, assuming that the item was a function without checking. This led to [ICEs in situations where the attribute was incorrectly used on non-functions](https://github.com/rust-lang/rust/issues/105594).
With this change, we skip calling `fn_sig` if the item the attribute is attached to must be a function but isn't, because `check_attr` will reject such cases without codegen_attrs's intervention.
As a side note, some of the attributes in codegen_attrs are only valid on functions, but that property isn't actually checked. I'm planning to fix that in a follow up PR since it's a behavior change that will need to be validated rather than an obvious bugfix. Thankfully, all the attributes like that I've found so far are unstable.
Fixes #105594.
r? `@cjgillot`
|
|
This PR makes the `464px` version of `#src-sidebar-toggle` the same as the
`700px` version, with the button lower on the page so that it doesn't cover
up the search form, and removes the left margin to make space for it.
|
|
Rollup of 4 pull requests
Successful merges:
- #105375 (Fix an outdated comment mentioning parameter that doesn't exist anymore)
- #105955 (Remove wrapper functions for some unstable options)
- #106137 (fix more clippy::style findings)
- #106140 (Migrate links-color.goml to functions)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Migrate links-color.goml to functions
r? `@notriddle`
|
|
abort immediately on bad mem::zeroed/uninit
Now that we have non-unwinding panics, let's use them for these assertions. This re-establishes the property that `mem::uninitialized` and `mem::zeroed` will never unwind -- the earlier approach of causing panics here sometimes led to hard-to-debug segfaults when the surrounding code was not able to cope with the unexpected unwinding.
Cc `@bjorn3` I did not touch cranelift but I assume it needs a similar patch. However it has a `codegen_panic` abstraction that I did not want to touch since I didn't know how else it is used.
|
|
|
|
update Miri
Noteworthy PRs:
- https://github.com/rust-lang/miri/pull/2357
- https://github.com/rust-lang/miri/pull/2646
- https://github.com/rust-lang/miri/pull/2718
- https://github.com/rust-lang/miri/pull/2721
- https://github.com/rust-lang/miri/pull/2725
|
|
|
|
Allow .. to be parsed as let initializer
.. and ..= are valid expressions, however when used in a let statement
it is not parsed.
Fixes #105634
|
|
|
|
|
|
Fix some typos
|
|
|
|
Migrate toggle-line-inner background to CSS variable
r? `@notriddle`
|
|
Stop promoting all the things
fixes #91009
r? `@RalfJung`
|
|
|
|
|
|
|
|
Data race spans
Fixes https://github.com/rust-lang/miri/issues/2205
This adds output to data race errors very similar to the spans we emit for Stacked Borrows errors. For example, from our test suite:
```
help: The Atomic Load on thread `<unnamed>` is here
--> tests/fail/data_race/atomic_read_na_write_race1.rs:23:13
|
23 | ... (&*c.0).load(Ordering::SeqCst) //~ ERROR: Data race detected between Atomic Load on thread `<unnamed>` and Write o...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: The Write on thread `<unnamed>` is here
--> tests/fail/data_race/atomic_read_na_write_race1.rs:19:13
|
19 | *(c.0 as *mut usize) = 32;
| ^^^^^^^^^^^^^^^^^^^^^^^^^```
```
Because of https://github.com/rust-lang/miri/pull/2647 this comes without a perf regression, according to our benchmarks.
|
|
rustdoc: make line number CSS for doc comment and scraped the same

Discussed in
https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Line.20number.20styling
Preview: http://notriddle.com/notriddle-rustdoc-demos/source-lines/test_dingus/fn.test.html
|
|
Codegen test for derived `<` on trivial newtype [TEST ONLY]
I originally wrote this for #106065, but the libcore changes there aren't necessarily a win.
So I pulled out this test to be its own PR since it's important (see https://github.com/rust-lang/rust/pull/105840#discussion_r1056030324) and well-intentioned changes to core or the derive could accidentally break it without that being obvious (other than by massive unexplained perf changes).
|
|
Provide more context on FileCheck failures
FileCheck provides 5 lines of context by default. This is often insufficient to analyze failures that happen in CI. Increase the amount of context to 100 lines.
|
|
r=eholk
Suggest remove last method call when type coerce with expected type
Fixes #105494
|
|
Improve top-level docs
See a detailed explanation in the commit messages. This is a companion PR to https://github.com/rust-lang/rustc-dev-guide/pull/1528.
* Link to other resources instead of inlining their information
* Remove ancient and outdated reference to `config.mk`
* Suggest `profile = "user"` in the README
* Add detail about dependencies from the dev-guide
* Link to CONTRIBUTING.md instead of rustc-dev-guide in the main readme
* Link to `std-dev-guide` in CONTRIBUTING.md
|
|
|
|
|
|
|
|
Discussed in
https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Line.20number.20styling
|
|
Use u32 methods instead of manual shifting
Switch to `to_le_bytes()` and `from_le_bytes()` instead of manual shifting
This was suggested [`here`](https://github.com/rust-lang/rust/pull/105145#discussion_r1051418964)
Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
|
|
Rollup of 7 pull requests
Successful merges:
- #105970 (docs/test: add UI test and long-form error docs for E0462)
- #105975 (rustc: Remove needless lifetimes)
- #106069 (rustdoc: use a more evocative name for CSS/JS `#titles`)
- #106084 (fix vec::IntoIter::drop on high-alignment ZST)
- #106091 (Use correct CSS pseudo-element selector)
- #106093 (rustdoc: remove no-op CSS from `.docblock-short`)
- #106102 (Fix `triagebot.toml`)
Failed merges:
- #106028 (docs/test: add UI test and long-form error docs for `E0461`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
r=GuillaumeGomez
rustdoc: remove no-op CSS from `.docblock-short`
The rules `overflow:hidden` and `text-overflow:ellipses` only have an effect if overflow occurs, which cannot happen because it will just line wrap instead.
These rules definitely became obsolete by https://github.com/rust-lang/rust/pull/77699, when the stylesheet was decidedly changed to have line wrapping in short docblocks, but given the bug it was fixing, this probably got broken earlier.
|
|
Use correct CSS pseudo-element selector
Pseudo-element should use "::" to not be confused with pseudo selectors (nice explanation here: https://css-tricks.com/to-double-colon-or-not-do-double-colon/).
r? ``@notriddle``
|
|
fix vec::IntoIter::drop on high-alignment ZST
This fixes a soundness bug: IntoIter would call `drop_in_place` on an insufficiently aligned pointer. So if a ZST with alignment greater 1 had drop glue, that would be called with an unaligned reference. Since https://github.com/rust-lang/rust/pull/103957, Miri checks alignment even if the type does not have drop glue, which is how this bug was found.
r? ``@thomcc``
|
|
rustdoc: use a more evocative name for CSS/JS `#titles`
This renames the ID, which is only used in search results, to `#search-tabs`. Also changes the `.count` to a span, so it doesn't need its display mode to be overridden.
|
|
docs/test: add UI test and long-form error docs for E0462
Another UI test/ docs combo.
r? ``@GuillaumeGomez``
|
|
|
|
Update cargo
7 commits in c994a4a638370bc7e0ffcbb0e2865afdfa7d4415..2381cbdb4e9b07090f552d34a44a529b6e620e44 2022-12-18 21:50:58 +0000 to 2022-12-23 12:19:27 +0000
- fix: deduplicate dependencies by artifact target (rust-lang/cargo#11478)
- Add warning if potentially-scrapable examples are skipped due to dev-dependencies (rust-lang/cargo#11503)
- Don't scrape examples from library targets by default (rust-lang/cargo#11499)
- Stabilize terminal-width (rust-lang/cargo#11494)
- Make sure that hash of `SourceId` is stable (rust-lang/cargo#11501)
- Use workspace lockfile when running `cargo package` and `cargo publish` (rust-lang/cargo#11477)
- Show `--help` if there is no man page for subcommand (rust-lang/cargo#11473)
r? `@ghost`
|
|
The rules `overflow:hidden` and `text-overflow:ellipses` only have an
effect if overflow occurs, which cannot happen because it will just line
wrap instead.
These rules definitely became obsolete by
https://github.com/rust-lang/rust/pull/77699, when the stylesheet was
decidedly changed to have line wrapping in short docblocks, but given the
bug it was fixing, this probably got broken earlier.
|
|
sees them
|
|
|
|
7 commits in c994a4a638370bc7e0ffcbb0e2865afdfa7d4415..2381cbdb4e9b07090f552d34a44a529b6e620e44
2022-12-18 21:50:58 +0000 to 2022-12-23 12:19:27 +0000
- fix: deduplicate dependencies by artifact target (rust-lang/cargo#11478)
- Add warning if potentially-scrapable examples are skipped due to dev-dependencies (rust-lang/cargo#11503)
- Don't scrape examples from library targets by default (rust-lang/cargo#11499)
- Stabilize terminal-width (rust-lang/cargo#11494)
- Make sure that hash of `SourceId` is stable (rust-lang/cargo#11501)
- Use workspace lockfile when running `cargo package` and `cargo publish` (rust-lang/cargo#11477)
- Show `--help` if there is no man page for subcommand (rust-lang/cargo#11473)
|
|
Check arg expressions properly on error in `confirm_builtin_call`
Makes sure we don't regress diagnostic output when we have an expr error nested inside of a bad fn call: https://github.com/rust-lang/rust/pull/105973#issuecomment-1363152232
Fixes #106030
Fixes #105244
|
|
Run `tidy` in its own job in PR CI
This duplicates mingw-check into two jobs where one job runs `tidy` only while the other job does not. The tidy job will not cancel other jobs on failure.
|