| Age | Commit message (Collapse) | Author | Lines |
|
|
|
add pthread_getname_np
A new libstd test needs this, and there doesn't seem to be a good reason not to have this.
|
|
|
|
|
|
Improve miri_print_borrow_stacks
Per post-merge review on https://github.com/rust-lang/miri/pull/2322
* `miri_print_stacks` renamed to `miri_print_borrow_stacks`
* A bit more details in docs, clarified how unstable these functions are meant to be
* Print an `unknown_bottom` if one exists
Open question: Currently `miri_get_alloc_id` gets the expected `AllocId` for `Wildcard` pointers, but for pointers with no provenance, the function reports UB and halts the interpreter. That's definitely wrong. But what _should_ we do? Is it reasonable to check if the pointer has `None` provenance and try to get an `AllocId` for its address? That still leaves us with a failure path, which in this case might be best-handled as an ICE? I'm just not sure that changing the return type of `miri_get_alloc_id` to `Option` is a win because it complicates all normal uses of this.
|
|
|
|
|
|
Rustup
|
|
|
|
|
|
http://localhost:8000/rust-lang/rust.git:at_commit=75dd959a3a40eb5b4574f8d2e23aa6efbeb33573[:prefix=src/tools/miri]:/src/tools/miri
|
|
update Miri
I had to use a hacked version of josh to create this, so let's be careful with merging this and maybe wait a bit to see if the josh issue becomes more clear. But the history looks good to me, we are not adding duplicates of rustc commits that were previously mirrored to Miri.
Also I want to add some cross-testing of Miri in x.py.
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #98204 (Stabilize `Option::unzip()`)
- #102587 (rustc: Use `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`)
- #103122 (Remove misc_cast and validate types when casting)
- #103379 (Truncate thread names on Linux and Apple targets)
- #103482 (Clairify Vec::capacity docs)
- #103511 (Codegen tweaks)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Codegen tweaks
Best reviewed one commit at a time.
r? `@bjorn3`
|
|
Clairify Vec::capacity docs
Update both the text and example to be clear that the method gives *total*, (not *spare*) capacity
Fixes #103326
|
|
Truncate thread names on Linux and Apple targets
These targets have system limits on the thread names, 16 and 64 bytes
respectively, and `pthread_setname_np` returns an error if the name is
longer. However, we're not in a context that can propagate errors when
we call this, and we used to implicitly truncate on Linux with `prctl`,
so now we manually truncate these names ahead of time.
r? ``````@thomcc``````
|
|
Remove misc_cast and validate types when casting
Continuing our work in #102675
r? ````@oli-obk````
|
|
rustc: Use `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`
This is the first (known) step towards starting to use `unix_sigpipe` in the wild. Eventually, `rustc_driver::set_sigpipe_handler` can be removed and all clients can use `unix_sigpipe` instead.
For now we just start using `unix_sigpipe` in one place: `rustc` itself.
It is easy to manually verify this change. If you remove `#[unix_sigpipe = "sig_dfl"]` and run `./x.py build` you will get an ICE when you do `./build/x86_64-unknown-linux-gnu/stage1/bin/rustc --help | false`. Add back `#[unix_sigpipe = "sig_dfl"]` and the ICE disappears again.
PR that added `set_sigpipe_handler`: https://github.com/rust-lang/rust/pull/49606
Tracking issue for `unix_sigpipe`: #97889
Not sure exactly how to label this PR. Going with T-libs for now since this is a T-libs feature.
````@rustdoc```` labels +T-libs
|
|
Stabilize `Option::unzip()`
Stabilizes `Option::unzip()`, closes #87800
```@rustbot``` modify labels: +T-libs-api
|
|
Support raw-dylib functions being used inside inlined functions
Fixes #102714
Issue Details:
When generating the import library for `raw-dylib` symbols, we currently only use the functions and variables declared within the current crate. This works fine if all crates are static libraries or `rlib`s as the generated import library will be contained in the static library or `rlib` itself, but if a dependency is a dynamic library AND the use of a `raw-dylib` function or variable is inlined or part of a generic instantiation then the current crate won't see its dependency's import library and so linking will fail.
Fix Details:
Instead, when we generate the import library for a `dylib` or `bin` crate, we will now generate it for the symbols both for the current crate and all upstream crates. We do this in two steps so that the import library for the current crate is passed into the linker first, thus it is preferred if there are any ambiguous symbols.
|
|
It's only ever used with shift operators.
|
|
It has a single call site.
|
|
Rollup of 11 pull requests
Successful merges:
- #103333 (Fix assertion failed for break_last_token and trailing token)
- #103350 (Change terminology for assoc method suggestions when they are not called)
- #103382 (Don't ICE when reporting borrowck errors involving regions from `anonymous_lifetime_in_impl_trait`)
- #103409 (Delay span bug when we can't map lifetimes back in `collect_trait_impl_trait_tys`)
- #103410 (-Z docs: Add link to unstable book)
- #103462 (rustdoc: remove no-op CSS `.source pre.rust { white-space: pre }`)
- #103465 (E0210 explanation: remove redundant sentence)
- #103486 (Use functions in highlight-colors rustdoc GUI test)
- #103493 (rustdoc: remove unused `.sidebar-logo` DOM on source pages)
- #103494 (rustdoc: remove redundant CSS `a.test-arrow:hover`)
- #103495 (rustdoc: Use `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
- Rearrange the match in `llbb_with_landing_pad` so the `(Some,Some)`
cases are together.
- Add assertions to indicate two MSVC-only paths.
|
|
`TerminatorCodegenHelper` has three methods `llblock`, `llbb`, and
`lltarget`. They're all similar, but the names given no indication of
the differences.
This commit renames `lltarget` as `llbb_with_landing_pad`, and `llblock`
as `llbb_with_cleanup`. These aren't fantastic names, but at least it's
now clear that `llbb` is the lowest-level of the three and the other two
wrap it.
|
|
Ensure:
- builders always have a `bx` suffix;
- backend basic blocks always have an `llbb` suffix,
- paired builders and basic blocks have consistent prefixes.
|
|
|
|
rustdoc: Use `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`
Do what was already done for `rustc` in #102587, namely start using `unix_sigpipe` instead of `rustc_driver::set_sigpipe_handler`.
After this has been merged, we can completely remove `rustc_driver::set_sigpipe_handler`.
PR that added `set_sigpipe_handler`: https://github.com/rust-lang/rust/pull/49606
Tracking issue for `unix_sigpipe`: #97889
Verification of this change
---------------------------
1. Remove `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE
1. Add back `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE fixed
``@rustbot`` labels +T-rustdoc
|
|
rustdoc: remove redundant CSS `a.test-arrow:hover`
In 4b402dbe690dd00f567542ca9e41042826a168b5, when this rule was added, it was overriding a rule that made all links in docblock get an underline when hovered. This became redundant when, after reordering the rules, 7585632052298f9c84cc12ac5afcb23786ae1d3d changed the pro-underline rule to exclude the test-arrow link anyway.
|
|
r=GuillaumeGomez
rustdoc: remove unused `.sidebar-logo` DOM on source pages
|
|
GuillaumeGomez:cleanup-rustdoc-gui-highlight-colors, r=notriddle
Use functions in highlight-colors rustdoc GUI test
r? ``@notriddle``
|
|
E0210 explanation: remove redundant sentence
|
|
r=Dylan-DPC
rustdoc: remove no-op CSS `.source pre.rust { white-space: pre }`
This rule, added in 49e6db7f3510a99ab3d3723b2430add985629c39, overrode a rule in normalize.css.
https://github.com/rust-lang/rust/blob/49e6db7f3510a99ab3d3723b2430add985629c39/src/librustdoc/html/static/normalize.css#L169-L175
When normalize.css was updated, this rule went away.
https://github.com/necolas/normalize.css/commit/a8edd0c5aa06b905e8e1550fd6a5c01e46375194
|
|
-Z docs: Add link to unstable book
|
|
Delay span bug when we can't map lifetimes back in `collect_trait_impl_trait_tys`
When a lifetime is late-bound in a trait signature, but early-bound in an impl signature, we already emit an error -- however, we also ICE in `collect_trait_impl_trait_tys`, so just delay a bug here.
Fixes #103407
|
|
Don't ICE when reporting borrowck errors involving regions from `anonymous_lifetime_in_impl_trait`
The issue here is that when we have:
```
trait Trait<'a> { .. }
fn foo(arg: impl Trait) { .. }
```
The anonymous lifetime `'_` that we generate for `arg: impl Trait` doesn't end up in the argument type (which is a param) but in a where-clause of the function, in a predicate whose self type is that param ty.
Fixes #101660
r? ``@cjgillot``
|
|
Change terminology for assoc method suggestions when they are not called
Fixes #103325
```@rustbot``` label +A-diagnostics
|
|
Fix assertion failed for break_last_token and trailing token
Fixes #103143
|
|
|
|
Start using `unix_sigpipe` instead of
`rustc_driver::set_sigpipe_handler`.
After this has been merged, we can completely remove
`rustc_driver::set_sigpipe_handler`.
Verification of this change
---------------------------
1. Remove `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE
1. Add back `#[unix_sigpipe = "sig_dfl"]`
1. Run `./x.py build`
1. Run `./build/aarch64-apple-darwin/stage1/bin/rustdoc --help | false`
1. Observe ICE fixed
|
|
In 4b402dbe690dd00f567542ca9e41042826a168b5, when this rule was added, it
was overriding a rule that made all links in docblock get an underline when
hovered. This became redundant when, after reordering the rules,
7585632052298f9c84cc12ac5afcb23786ae1d3d changed the pro-underline rule to
exclude the test-arrow link anyway.
|
|
|
|
Update Clippy
r? `@Manishearth`
|
|
|
|
|
|
Fixes #103326
|
|
Only apply `ProceduralMasquerade` hack to older versions of `rental`
The latest version of `rental` (v0.5.6) contains a fix that allows it to
compile without relying on the pretty-print back-compat hack.
Hopefully, there are no longer any crates relying on the affected
versions of the (much less popular) `procedural-masquerade` crate. This
should allow us to target the pretty-print back-compat hack specifically
to older versions of `rental`, and specifically mention upgrading to
`rental` v0.5.6 in the lint message.
|
|
Rollup of 7 pull requests
Successful merges:
- #99578 (Remove redundant lifetime bound from `impl Borrow for Cow`)
- #99939 (Sort tests at compile time, not at startup)
- #102271 (Stabilize `duration_checked_float`)
- #102766 (Don't link to `libresolv` in libstd on Darwin)
- #103277 (Update libstd's libc to 0.2.135 (to make `libstd` no longer pull in `libiconv.dylib` on Darwin))
- #103437 (Sync rustc_codegen_cranelift)
- #103466 (Fix grammar in docs for std::io::Read)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix grammar in docs for std::io::Read
Two independent clauses were incorrectly joined by a bare comma. The simplest fix would be to switch to a semicolon, but I think it's slightly better to keep the comma and use the coordinating conjunction "so".
|