| Age | Commit message (Collapse) | Author | Lines |
|
Miri subtree update
r? `@ghost`
|
|
properly elaborate effects implied bounds for super traits
Summary: This PR makes it so that we elaborate `<T as Tr>::Fx: EffectsCompat<somebool>` into `<T as SuperTr>::Fx: EffectsCompat<somebool>` when we know that `trait Tr: ~const SuperTr`.
Some discussion at https://github.com/rust-lang/project-const-traits/issues/2.
r? project-const-traits
`@rust-lang/project-const-traits:` how do we feel about this approach?
|
|
In redesigned rustdoc toolbar: Adjust spacings and sizing to improve behavior with over-long names
Fixes #130993.
Some additional adjustments also fix more issues I’ve noticed such as:
* on small screens, opening search made the 3 bottons move down very slightly (because the row with the crate picker got larger, enlarging the whole grid), this is fixed with a `min-height: 60px` on the toolbar
* with long names in the “breadcrumps” area, wrapping was very broken
* 
* fixed:
* 
* the left grid area has a minimal width (105px); like before, that leaves about enough space for crate names becoming as short as “all cra…”;
to save even more space, there’s support for a little bit of extra squeezing of the buttons
* 
* 
* 
I’m really not super good with HTML or CSS stuff at all; there seem to be many magical numbers already, I’ve just used `px` values until things look right, I hope that’s okay 🤷♂️
r? `@GuillaumeGomez`
cc `@notriddle`
|
|
|
|
let rustfmt format imports
This matches the recent change in rustc.
`@rust-lang/miri` what do you think?
|
|
Rollup of 4 pull requests
Successful merges:
- #123932 (restate GlobalAlloc method safety preconditions in terms of what the caller has to do for greater clarity)
- #129003 (Improve Ord docs)
- #130972 (stabilize const_cell_into_inner)
- #130990 (try to get rid of mir::Const::normalize)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
try to get rid of mir::Const::normalize
It was easy to make this compile, let's see if anything breaks...
r? `@compiler-errors`
|
|
stabilize const_cell_into_inner
This const-stabilizes
- `UnsafeCell::into_inner`
- `Cell::into_inner`
- `RefCell::into_inner`
- `OnceCell::into_inner`
`@rust-lang/wg-const-eval` this uses `rustc_allow_const_fn_unstable(const_precise_live_drops)`, so we'd be comitting to always finding *some* way to accept this code. IMO that's fine -- what these functions do is to move out the only field of a struct, and that struct has no destructor itself. The field's destructor does not get run as it gets returned to the caller.
`@rust-lang/libs-api` this was FCP'd already [years ago](https://github.com/rust-lang/rust/issues/78729#issuecomment-811409860), except that `OnceCell::into_inner` was added to the same feature gate since then (Cc `@tgross35).` Does that mean we have to re-run the FCP? If yes, I'd honestly prefer to move `OnceCell` into its own feature gate to not risk missing the next release. (That's why it's not great to add new functions to an already FCP'd feature gate.) OTOH if this needs an FCP either way since the previous FCP was so long ago, then we might as well do it all at once.
|
|
Improve Ord docs
- Makes wording more clear and re-structures some sections that can be overwhelming for someone not already in the know.
- Adds examples of how *not* to implement Ord, inspired by various anti-patterns found in real world code.
Many of the wording changes are inspired directly by my personal experience of being confused by the `Ord` docs and seeing other people get it wrong as well, especially lately having looked at a number of `Ord` implementations as part of #128899.
Created with help by `@orlp.`
r? `@workingjubilee`
|
|
r=tgross35
restate GlobalAlloc method safety preconditions in terms of what the caller has to do for greater clarity
|
|
|
|
|
|
Rollup of 5 pull requests
Successful merges:
- #130931 (Rename `standalone` doctest attribute into `standalone_crate`)
- #131000 (Weekly `cargo update`)
- #131011 (cleanup: don't `.into()` identical types)
- #131013 (cleanup: don't manually `unwrap_or_default()`)
- #131014 (cleanup: don't clone types that are Copy)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
cleanup: don't clone types that are Copy
|
|
cleanup: don't manually `unwrap_or_default()`
|
|
cleanup: don't `.into()` identical types
|
|
Weekly `cargo update`
Automation to keep dependencies in `Cargo.lock` current.
The following is the output from `cargo update`:
```txt
Locking 5 packages to latest compatible versions
Updating autocfg v1.3.0 -> v1.4.0
Updating flate2 v1.0.33 -> v1.0.34
Updating portable-atomic v1.8.0 -> v1.9.0
Updating syn v2.0.77 -> v2.0.79
Updating tempfile v3.12.0 -> v3.13.0
note: pass `--verbose` to see 81 unchanged dependencies behind latest
library dependencies:
Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 9 unchanged dependencies behind latest
rustbook dependencies:
Locking 13 packages to latest compatible versions
Updating autocfg v1.3.0 -> v1.4.0
Updating cc v1.1.21 -> v1.1.22
Updating flate2 v1.0.33 -> v1.0.34
Updating libc v0.2.158 -> v0.2.159
Updating pkg-config v0.3.30 -> v0.3.31
Updating redox_syscall v0.5.4 -> v0.5.6
Updating serde_spanned v0.6.7 -> v0.6.8
Updating syn v2.0.77 -> v2.0.79
Updating tempfile v3.12.0 -> v3.13.0
Updating thiserror v1.0.63 -> v1.0.64
Updating thiserror-impl v1.0.63 -> v1.0.64
Updating toml_edit v0.22.21 -> v0.22.22
Updating winnow v0.6.18 -> v0.6.20
note: pass `--verbose` to see 30 unchanged dependencies behind latest
```
|
|
Rename `standalone` doctest attribute into `standalone_crate`
Following [zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/Renaming.20code.20block.20.22standalone.22.20attribute.3F) and poll results.
r? `@notriddle`
|
|
crashes: more tests
r? `@jieyouxu`
|
|
|
|
coherency
|
|
|
|
Rollup of 5 pull requests
Successful merges:
- #130383 (check if it's rust-lang/rust CI job in `llvm::is_ci_llvm_modified`)
- #130416 (resolve #130122: reword 'sort-by' edge-conditions documentation)
- #130537 (rustdoc: add doc comment to DocVisitor)
- #130743 (Clarifications for set_nonblocking methods)
- #131010 (extend comment in global_llvm_features regarding target-cpu=native)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
extend comment in global_llvm_features regarding target-cpu=native
Based on the description in https://github.com/rust-lang/rust/pull/83084 by `@nagisa` -- seems better to have this in the code, where it is easier to find.
|
|
Clarifications for set_nonblocking methods
Closes #129903.
The issue mentions that `send`, `recv` and other operations are interpreted by some users as methods of `TcpSocket` which led to confusion since it hasn't them. To fix it I added "system" into the documentation as being more precise for two reasons:
* it's makes it clear that these names are system operations;
* it doesn't point to the location of these methods like `libc` because not every system is POSIX compatible.
|
|
rustdoc: add doc comment to DocVisitor
|
|
resolve #130122: reword 'sort-by' edge-conditions documentation
See #130122 for rationale & preliminary discussion.
|
|
r=Mark-Simulacrum
check if it's rust-lang/rust CI job in `llvm::is_ci_llvm_modified`
Changes `llvm::is_ci_llvm_modified` to only work on rust-lang/rust managed CI.
|
|
bump few deps
Bumps few things around `miri-script` reducing deps; bump `chrono-tz`.
|
|
|
|
|
|
|
|
|
|
Update `browser-ui-test` version and make use of `wait-for*-false` commands
I added `wait-for*-false` commands, making possible these changes.
r? `@notriddle`
|
|
skip old getrandom crate on Solaris
Fixes https://github.com/rust-lang/miri/issues/3924
Now we should be able to enable randomness tests on Solarish (and Android, while we are at it).
|
|
|
|
|
|
|
|
Update `catch_unwind` doc comments for `c_unwind`
Updates `catch_unwind` doc comments to indicate that catching a foreign exception _will no longer_ be UB. Instead, there are two possible behaviors, though it is not specified which one an implementation will choose.
Nominated for t-lang to confirm that they are okay with making such a promise based on t-opsem FCP, or whether they would like to be included in the FCP.
Related: https://github.com/rust-lang/rust/issues/74990, https://github.com/rust-lang/rust/issues/115285, https://github.com/rust-lang/reference/pull/1226
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Implement RFC3137 trim-paths sysroot changes - take 2
This PR is a continuation of https://github.com/rust-lang/rust/pull/118149. Nothing really changed, except for https://github.com/rust-lang/rust/pull/129408 which I was able to trigger locally.
Original description:
> Implement parts of #111540
>
> Right now, backtraces into sysroot always shows /rustc/$hash in diagnostics, e.g.
>
> ```
> thread 'main' panicked at 'hello world', map-panic.rs:2:50
> stack backtrace:
> 0: std::panicking::begin_panic
> at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:616:12
> 1: map_panic::main::{{closure}}
> at ./map-panic.rs:2:50
> 2: core::option::Option<T>::map
> at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/option.rs:929:29
> 3: map_panic::main
> at ./map-panic.rs:2:30
> 4: core::ops::function::FnOnce::call_once
> at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
> note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
> ```
>
> [RFC 3127 said](https://rust-lang.github.io/rfcs/3127-trim-paths.html#changing-handling-of-sysroot-path-in-rustc)
>
> > We want to change this behaviour such that, when rust-src source files can be discovered, the virtual path is discarded and therefore the local path will be embedded, unless there is a --remap-path-prefix that causes this local path to be remapped in the usual way.
>
> This PR implements this behaviour. When `rust-src` is present at compile time, rustc replaces /rustc/$hash with a real path into local rust-src with best effort. To sanitise this, users must explicitly supply `--remap-path-prefix=<path to rust-src>=foo`.
cc `@cbeuw`
Fix #105907
Fix #85463
try-job: dist-x86_64-linux
try-job: x86_64-msvc
try-job: dist-x86_64-msvc
try-job: armhf-gnu
|
|
|
|
Locking 5 packages to latest compatible versions
Updating autocfg v1.3.0 -> v1.4.0
Updating flate2 v1.0.33 -> v1.0.34
Updating portable-atomic v1.8.0 -> v1.9.0
Updating syn v2.0.77 -> v2.0.79
Updating tempfile v3.12.0 -> v3.13.0
note: pass `--verbose` to see 81 unchanged dependencies behind latest
library dependencies:
Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 9 unchanged dependencies behind latest
rustbook dependencies:
Locking 13 packages to latest compatible versions
Updating autocfg v1.3.0 -> v1.4.0
Updating cc v1.1.21 -> v1.1.22
Updating flate2 v1.0.33 -> v1.0.34
Updating libc v0.2.158 -> v0.2.159
Updating pkg-config v0.3.30 -> v0.3.31
Updating redox_syscall v0.5.4 -> v0.5.6
Updating serde_spanned v0.6.7 -> v0.6.8
Updating syn v2.0.77 -> v2.0.79
Updating tempfile v3.12.0 -> v3.13.0
Updating thiserror v1.0.63 -> v1.0.64
Updating thiserror-impl v1.0.63 -> v1.0.64
Updating toml_edit v0.22.21 -> v0.22.22
Updating winnow v0.6.18 -> v0.6.20
note: pass `--verbose` to see 30 unchanged dependencies behind latest
|
|
r=the8472
Improve autovectorization of to_lowercase / to_uppercase functions
Refactor the code in the `convert_while_ascii` helper function to make it more suitable for auto-vectorization and also process the full ascii prefix of the string. The generic case conversion logic will only be invoked starting from the first non-ascii character.
The runtime on a microbenchmark with a small ascii-only input decreases from ~55ns to ~18ns per iteration. The new implementation also reduces the amount of unsafe code and encapsulates all unsafe inside the helper function.
Fixes #123712
|
|
|
|
Enable `f16` tests on platforms that were missing conversion symbols
The only requirement for `f16` support, aside from LLVM not crashing and no ABI issues, is that symbols to convert to and from `f32` are available. Since the update to compiler-builtins in https://github.com/rust-lang/rust/pull/125016, we now provide these on all platforms.
This also enables `f16` math since there are no further requirements.
Still excluded are platforms for which LLVM emits infinitely-recursing code.
try-job: arm-android
try-job: test-various
try-job: x86_64-fuchsia
|
|
This is done to cover the path of the test it-self as it may not live
on the same root directory as {{rust-src-base}}, which can be the case
if {{rust-src-base}} is coming from a extracted dist build (cc opt-dist)
|
|
in case the real paths into the libstd/libcore are located inside the
the build directory, maybe because it's coming from an extracted dist
component in the build dir (cc opt-dist)
|