| Age | Commit message (Collapse) | Author | Lines |
|
add `asm_cfg`: `#[cfg(...)]` within `asm!`
tracking issue: https://github.com/rust-lang/rust/issues/140364
blocked on: https://github.com/rust-lang/rust/pull/140490
This feature was discussed in https://github.com/rust-lang/rust/issues/140279. It allows configuring templates and operands in the assembly macros, for example:
```rust
asm!( // or global_asm! or naked_asm!
"nop",
#[cfg(target_feature = "sse2")]
"nop",
// ...
#[cfg(target_feature = "sse2")]
a = const 123, // only used on sse2
);
```
r? `@tgross35`
cc `@traviscross` `@Amanieu`
Now builds on https://github.com/rust-lang/rust/pull/140490, which should be merged first.
|
|
|
|
Add some track_caller info to precondition panics
Currently, when you encounter a precondition check, you'll always get the caller location of the implementation of the precondition checks. But with this PR, you'll be told the location of the invalid call. Which is useful.
I thought of this while looking at https://github.com/rust-lang/rust/pull/129642#issuecomment-2311703898.
The changes to `tests/ui/const*` happen because the const-eval interpreter skips `#[track_caller]` frames in its backtraces.
The perf implications of this are:
* Increased debug binary sizes. The caller_location implementation requires that the additional data we want to display here be stored in const allocations, which are deduplicated but not across crates. There is no impact on optimized build sizes. The panic path and the caller location data get optimized out.
* The compile time hit to opt-incr-patched bitmaps happens because the patch changes the line number of some function calls with precondition checks, causing us to go from 0 dirty CGUs to 1 dirty CGU.
* The other compile time hits are marginal but real, and due to doing a handful of new queries. Adding more useful data isn't completely free.
|
|
bump fluent-* crates
This bumps fluent-* crates, switching to more up-to-date deps, reducing number of old ones.
changelogs is pure refactoring:
https://github.com/projectfluent/fluent-rs/blob/fluent-bundle%400.16.0/fluent-bundle/CHANGELOG.md
https://github.com/projectfluent/fluent-rs/blob/fluent-bundle%400.16.0/fluent-syntax/CHANGELOG.md
|
|
Rename `{GenericArg,Term}::unpack()` to `kind()`
A well-deserved rename IMO.
r? `@oli-obk` or `@lcnr` (or anyone)
cc `@rust-lang/types,` but I'd be surprised if this is controversial.
|
|
|
|
|
|
|
|
|
|
|
|
Update mdbook to 0.4.51
This fixes a silly regression introduced in 0.4.50 that broke the search hotkey (https://github.com/rust-lang/rust/pull/141457).
Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451
|
|
Support F_GETFL and F_SETFL for fcntl
|
|
of `DB: ?Sized`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keep the `P` constructor function for now, to minimize immediate churn.
All the `into_inner` calls are removed, which is nice.
|
|
This uses a very hacky regex that will probably miss some variables. But
having some docs seems better than none at all.
This uses a very hacky regex that will probably miss some variables. But having some docs seems better than none at all.
In particular, this generates stubs for the following env vars:
- COLORTERM
- QNX_TARGET
- RUST_BACKTRACE
- RUSTC_BLESS
- RUSTC_BOOTSTRAP
- RUSTC_BREAK_ON_ICE
- RUSTC_CTFE_BACKTRACE
- RUSTC_FORCE_RUSTC_VERSION
- RUSTC_GRAPHVIZ_FONT
- RUSTC_ICE
- RUSTC_LOG
- RUSTC_OVERRIDE_VERSION_STRING
- RUSTC_RETRY_LINKER_ON_SEGFAULT
- RUSTC_TRANSLATION_NO_DEBUG_ASSERT
- RUST_DEP_GRAPH_FILTER
- RUST_DEP_GRAPH
- RUST_FORBID_DEP_GRAPH_EDGE
- RUST_MIN_STACK
- RUST_TARGET_PATH
- SDKROOT
- TERM
- UNSTABLE_RUSTDOC_TEST_LINE
- UNSTABLE_RUSTDOC_TEST_PATH
[rendered]()
|
|
fix: Fix IDE resolution of item macros
|
|
This fixes a silly regression introduced in 0.4.50 that broke the search
hotkey (https://github.com/rust-lang/rust/pull/141457).
Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0451
|
|
add a dedicated section for compiler environment variables in the unstable book
rendered: 
fixes https://github.com/rust-lang/rust/issues/141523
|
|
interpret: add allocation parameters to `AllocBytes`
Necessary for a better implementation of [rust-lang/miri#4343](https://github.com/rust-lang/miri/pull/4343). Also included here is the code from that PR, adapted to this new interface for the sake of example and so that CI can run on them; the Miri changes can be reverted and merged separately, though.
r? `@RalfJung`
|
|
Properly analyze captures from unsafe binders
We need to represent the unsafe binder unwrap as an adjustment in HIR. Pretty straightforward b/c we already represent it as a projection elem in MIR.
Fixes #141418
Fixes #141417
r? oli-obk
|
|
interpret: do not force_allocate all return places
A while ago I cleaned up our `PlaceTy` a little, but as a side-effect of that, return places had to always be force-allocated. That turns out to cause quite a few extra allocations, and for a project we are doing where we marry Miri with a model checker, that means a lot of extra work -- local variables are just so much easier to reason about than allocations.
So, this PR brings back the ability to have the return place be just a local of the caller. To make this work cleanly I had to rework stack pop handling a bit, which also changes the output of Miri in some cases as the span for errors occurring during a particular phase of stack pop changed.
With these changes, a no-std binary with a function of functions that just take and return scalar types and that uses no pointers now does not move *any* local variables into memory. :)
r? `@oli-obk`
|
|
|
|
|
|
|
|
|
|
|
|
fix: ide-assists, generate mut trait impl indent
|
|
Change import prefix default to be by crate
|
|
fixes: ide-assists, generate_new indent loses
|
|
fix: Normalize when checking for uninhabited types for pattern exhaustiveness checking
|
|
fix: Properly implement `might_be_inside_macro_call()` using semantic information instead of syntactical hacks
|
|
|
|
|
|
instead of syntactical hacks
And rename it to `is_inside_macro_call()` accordingly.
|
|
It wasn't inside the source, because there was no source map.
|
|
|
|
|
|
|
|
|
|
|
|
Cleanup CodegenFnAttrFlags
- Rename `USED` to `USED_COMPILER` to better reflect its behavior.
- Reorder some items to group the used and allocator flags together
- Renumber them without gaps
|
|
rename internal panicking::try to catch_unwind
The public function is called `catch_unwind`, the intrinsic at some point got renamed to `catch_unwind` -- there's no reason to have the internal implementation of this still be called `try`, so let's rename it to match the rest.
|
|
Update askama to `0.14.0`
[Askama 0.14.0 release notes](https://github.com/askama-rs/askama/releases/tag/v0.14.0)
Just one change needed for a filter in rustdoc.
r? ```@notriddle```
|