$ the-wire · showcase
Miri reshapes C array handling, rustc-demangle renames splat
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
Miri's shim layer is being reworked around a single projection helper, while rustc-demangle renames the splat attribute to clear a name resolution clash with rustc.
adjust how we handle c-style arrays rust-lang/miri
Miri gains a new projection helper so C-style arrays are dereferenced first and then indexed, and `deref_pointer_and_read`/`deref_pointer_and_write` are removed in favor of composing existing helpers. RalfJung writes that the removed pair "can be written better using other helpers."
Rename splat attribute to rustc_splat rust-lang/rustc-demangle
The demangler renames the splat attribute to `rustc_splat`, adds tests pinning commas in the right place in demangled output (rust-lang/rust#160050), and covers legacy mangling splats that already worked. It is half of the fix for a rustc name resolution clash, with the compiler-side change in rust-lang/rust#159817; no backport is needed because the beta branch predates demangling.
Rollup of 21 pull requests rust-lang/rust
Twenty-one PRs landed, including rejecting cfg on expressions that cannot be safely removed, an ambiguity error for attribute macros that could be tool attributes, `--generate-link-to-definition` enabled on std docs, and return-type recovery until `{`, `}` or `;`.
Auto merge of #165058 - weihanglo:update-cargo, r=weihanglo rust-lang/rust
The cargo submodule moves forward seven commits, led by a new warning about conflicting proc-macro manifest settings (rust-lang/cargo#17641) and doc examples switched to the latest `resolver` and `edition`.
Use `deref_pointer` in virtual socket shims rust-lang/miri
The `deref_pointer_as` cleanup proceeds across the shim layer: virtual socket `socketpair` and `pipe` buffers become `*i32`, and the macOS `os_unfair_lock` and `_NSGetExecutablePath` shims move to `deref_pointer` as pieces of rust-lang/miri#5433. Otherwise the wire is crate index churn, with new `dm-rust` and updates to the `bynk` family.