| Age | Commit message (Collapse) | Author | Lines |
|
compiler & tools dependencies:
Locking 93 packages to latest compatible versions
Updating addr2line v0.24.2 -> v0.25.1
Removing android-tzdata v0.1.1
Updating anyhow v1.0.99 -> v1.0.100
Updating backtrace v0.3.75 -> v0.3.76
Updating bitflags v2.9.3 -> v2.9.4
Updating camino v1.1.11 -> v1.2.0
Updating cfg-if v1.0.1 -> v1.0.3
Updating chrono v0.4.41 -> v0.4.42
Updating clap v4.5.45 -> v4.5.48
Updating clap_builder v4.5.44 -> v4.5.48
Updating clap_derive v4.5.45 -> v4.5.47
Updating ctrlc v3.4.7 -> v3.5.0
Updating cxx v1.0.185 -> v1.0.186
Updating cxx-build v1.0.185 -> v1.0.186
Updating cxxbridge-cmd v1.0.185 -> v1.0.186
Updating cxxbridge-flags v1.0.185 -> v1.0.186
Updating cxxbridge-macro v1.0.185 -> v1.0.186
Updating dbus v0.9.7 -> v0.9.9
Adding dispatch v0.2.0
Updating dyn-clone v1.0.19 -> v1.0.20
Updating erased-serde v0.4.6 -> v0.4.8
Updating errno v0.3.13 -> v0.3.14
Updating filetime v0.2.25 -> v0.2.26
Updating form_urlencoded v1.2.1 -> v1.2.2
Updating gimli v0.32.0 -> v0.32.3
Adding hashbrown v0.16.0
Updating humantime v2.2.0 -> v2.3.0
Updating iana-time-zone v0.1.63 -> v0.1.64
Updating idna v1.0.3 -> v1.1.0
Updating indexmap v2.10.0 -> v2.11.4
Updating ipc-channel v0.20.1 -> v0.20.2
Updating jobserver v0.1.33 -> v0.1.34
Updating js-sys v0.3.77 -> v0.3.81
Updating libdbus-sys v0.2.5 -> v0.2.6
Updating libffi v4.1.1 -> v4.1.2
Updating libffi-sys v3.3.2 -> v3.3.3
Updating libloading v0.8.8 -> v0.8.9
Updating libredox v0.1.9 -> v0.1.10
Updating linux-raw-sys v0.9.4 -> v0.11.0
Updating log v0.4.27 -> v0.4.28
Updating matchers v0.1.0 -> v0.2.0
Updating memchr v2.7.5 -> v2.7.6
Updating normpath v1.3.0 -> v1.5.0
Removing nu-ansi-term v0.46.0
Removing overload v0.1.1
Updating percent-encoding v2.3.1 -> v2.3.2
Updating pest v2.8.1 -> v2.8.2
Updating pest_derive v2.8.1 -> v2.8.2
Updating pest_generator v2.8.1 -> v2.8.2
Updating pest_meta v2.8.1 -> v2.8.2
Updating potential_utf v0.1.2 -> v0.1.3
Updating regex v1.11.1 -> v1.11.3
Removing regex-automata v0.1.10
Removing regex-automata v0.4.9
Adding regex-automata v0.4.11
Updating regex-lite v0.1.6 -> v0.1.7
Removing regex-syntax v0.6.29
Removing regex-syntax v0.8.5
Adding regex-syntax v0.8.6
Updating rustix v1.0.8 -> v1.1.2
Updating schannel v0.1.27 -> v0.1.28
Updating semver v1.0.26 -> v1.0.27
Updating serde v1.0.219 -> v1.0.228
Updating serde-untagged v0.1.8 -> v0.1.9
Adding serde_core v1.0.228
Updating serde_derive v1.0.219 -> v1.0.228
Updating serde_json v1.0.142 -> v1.0.145
Updating serde_path_to_error v0.1.17 -> v0.1.20
Updating sysinfo v0.37.0 -> v0.37.1
Updating tempfile v3.20.0 -> v3.23.0
Updating thiserror v2.0.15 -> v2.0.16
Updating thiserror-impl v2.0.15 -> v2.0.16
Updating tinyvec v1.9.0 -> v1.10.0
Updating tracing-subscriber v0.3.18 -> v0.3.20
Updating twox-hash v2.1.1 -> v2.1.2
Updating unicode-ident v1.0.18 -> v1.0.19
Updating url v2.5.4 -> v2.5.7
Updating uuid v1.18.0 -> v1.18.1
Updating wasi v0.14.2+wasi-0.2.4 -> v0.14.7+wasi-0.2.4
Updating wasi-preview1-component-adapter-provider v36.0.1 -> v36.0.2
Adding wasip2 v1.0.1+wasi-0.2.4
Updating wasm-bindgen v0.2.100 -> v0.2.104
Updating wasm-bindgen-backend v0.2.100 -> v0.2.104
Updating wasm-bindgen-macro v0.2.100 -> v0.2.104
Updating wasm-bindgen-macro-support v0.2.100 -> v0.2.104
Updating wasm-bindgen-shared v0.2.100 -> v0.2.104
Updating winapi-util v0.1.9 -> v0.1.11
Removing windows v0.58.0
Updating windows-core v0.58.0 -> v0.62.1
Removing windows-implement v0.58.0
Removing windows-implement v0.60.0
Adding windows-implement v0.60.1
Removing windows-interface v0.58.0
Removing windows-interface v0.59.1
Adding windows-interface v0.59.2
Adding windows-link v0.2.0
Updating windows-result v0.2.0 -> v0.4.0
Updating windows-strings v0.1.0 -> v0.5.0
Adding windows-sys v0.61.1
Updating windows-targets v0.53.3 -> v0.53.4
Updating winnow v0.7.12 -> v0.7.13
Adding wit-bindgen v0.46.0
Removing wit-bindgen-rt v0.39.0
Updating xattr v1.5.1 -> v1.6.1
Updating zerocopy v0.8.26 -> v0.8.27
Updating zerocopy-derive v0.8.26 -> v0.8.27
note: pass `--verbose` to see 33 unchanged dependencies behind latest
library dependencies:
Locking 19 packages to latest compatible versions
Updating addr2line v0.25.0 -> v0.25.1
Updating cfg-if v1.0.1 -> v1.0.3
Updating dlmalloc v0.2.10 -> v0.2.11
Updating gimli v0.32.0 -> v0.32.3
Updating libc v0.2.175 -> v0.2.176
Updating memchr v2.7.5 -> v2.7.6
Updating vex-sdk v0.27.0 -> v0.27.1
Adding windows-link v0.2.0
Updating windows-sys v0.59.0 -> v0.60.2
Updating windows-targets v0.52.6 -> v0.53.4
Updating windows_aarch64_gnullvm v0.52.6 -> v0.53.0
Updating windows_aarch64_msvc v0.52.6 -> v0.53.0
Updating windows_i686_gnu v0.52.6 -> v0.53.0
Updating windows_i686_gnullvm v0.52.6 -> v0.53.0
Updating windows_i686_msvc v0.52.6 -> v0.53.0
Updating windows_x86_64_gnu v0.52.6 -> v0.53.0
Updating windows_x86_64_gnullvm v0.52.6 -> v0.53.0
Updating windows_x86_64_msvc v0.52.6 -> v0.53.0
Updating wit-bindgen v0.45.0 -> v0.45.1
note: pass `--verbose` to see 4 unchanged dependencies behind latest
rustbook dependencies:
Locking 63 packages to latest compatible versions
Updating ammonia v4.1.1 -> v4.1.2
Removing android-tzdata v0.1.1
Updating anyhow v1.0.99 -> v1.0.100
Removing bitflags v1.3.2
Removing bitflags v2.9.2
Adding bitflags v2.9.4
Updating cc v1.2.33 -> v1.2.39
Updating cfg-if v1.0.1 -> v1.0.3
Updating chrono v0.4.41 -> v0.4.42
Updating clap v4.5.45 -> v4.5.48
Updating clap_builder v4.5.44 -> v4.5.48
Updating clap_complete v4.5.57 -> v4.5.58
Updating clap_derive v4.5.45 -> v4.5.47
Updating errno v0.3.13 -> v0.3.14
Adding find-msvc-tools v0.1.2
Updating form_urlencoded v1.2.1 -> v1.2.2
Updating getopts v0.2.23 -> v0.2.24
Updating hashbrown v0.15.5 -> v0.16.0
Updating iana-time-zone v0.1.63 -> v0.1.64
Updating idna v1.0.3 -> v1.1.0
Updating indexmap v2.10.0 -> v2.11.4
Updating js-sys v0.3.77 -> v0.3.81
Updating linux-raw-sys v0.9.4 -> v0.11.0
Updating log v0.4.27 -> v0.4.28
Updating memchr v2.7.5 -> v2.7.6
Updating normpath v1.3.0 -> v1.5.0
Updating opener v0.8.2 -> v0.8.3
Updating percent-encoding v2.3.1 -> v2.3.2
Updating pest v2.8.1 -> v2.8.2
Updating pest_derive v2.8.1 -> v2.8.2
Updating pest_generator v2.8.1 -> v2.8.2
Updating pest_meta v2.8.1 -> v2.8.2
Updating potential_utf v0.1.2 -> v0.1.3
Updating regex v1.11.1 -> v1.11.3
Updating regex-automata v0.4.9 -> v0.4.11
Updating regex-syntax v0.8.5 -> v0.8.6
Updating rustix v1.0.8 -> v1.1.2
Updating semver v1.0.26 -> v1.0.27
Updating serde v1.0.219 -> v1.0.228
Adding serde_core v1.0.228
Updating serde_derive v1.0.219 -> v1.0.228
Updating serde_json v1.0.142 -> v1.0.145
Updating syntect v5.2.0 -> v5.3.0
Updating tempfile v3.20.0 -> v3.23.0
Updating thiserror v2.0.15 -> v2.0.16
Updating thiserror-impl v2.0.15 -> v2.0.16
Updating unicode-ident v1.0.18 -> v1.0.19
Updating url v2.5.4 -> v2.5.7
Updating wasi v0.14.2+wasi-0.2.4 -> v0.14.7+wasi-0.2.4
Adding wasip2 v1.0.1+wasi-0.2.4
Updating wasm-bindgen v0.2.100 -> v0.2.104
Updating wasm-bindgen-backend v0.2.100 -> v0.2.104
Updating wasm-bindgen-macro v0.2.100 -> v0.2.104
Updating wasm-bindgen-macro-support v0.2.100 -> v0.2.104
Updating wasm-bindgen-shared v0.2.100 -> v0.2.104
Updating winapi-util v0.1.9 -> v0.1.11
Updating windows-core v0.61.2 -> v0.62.1
Updating windows-implement v0.60.0 -> v0.60.1
Updating windows-interface v0.59.1 -> v0.59.2
Updating windows-link v0.1.3 -> v0.2.0
Updating windows-result v0.3.4 -> v0.4.0
Updating windows-strings v0.4.2 -> v0.5.0
Updating windows-sys v0.59.0 -> v0.61.1
Updating windows-targets v0.53.3 -> v0.53.4
Updating winnow v0.7.12 -> v0.7.13
Adding wit-bindgen v0.46.0
Removing wit-bindgen-rt v0.39.0
note: pass `--verbose` to see 1 unchanged dependencies behind latest
|
|
Bump bootstrap compiler to 1.91 beta
https://forge.rust-lang.org/release/process.html#default-branch-bootstrap-update-tuesday
|
|
|
|
resolve: Do not finalize shadowed bindings
I.e. do not mark them as used, or non-speculatively loaded, or similar.
Previously they were sometimes finalized during early resolution, causing issues like https://github.com/rust-lang/rust/pull/144793#issuecomment-3168108005.
|
|
Extended temporary argument to format_args!() in all cases
Fixes https://github.com/rust-lang/rust/issues/145880 by removing the special case.
|
|
Rollup of 8 pull requests
Successful merges:
- rust-lang/rust#116882 (rustdoc: hide `#[repr]` if it isn't part of the public ABI)
- rust-lang/rust#135771 ([rustdoc] Add support for associated items in "jump to def" feature)
- rust-lang/rust#141032 (avoid violating `slice::from_raw_parts` safety contract in `Vec::extract_if`)
- rust-lang/rust#142401 (Add proper name mangling for pattern types)
- rust-lang/rust#146293 (feat: non-panicking `Vec::try_remove`)
- rust-lang/rust#146859 (BTreeMap: Don't leak allocators when initializing nodes)
- rust-lang/rust#146924 (Add doc for `NonZero*` const creation)
- rust-lang/rust#146933 (Make `render_example_with_highlighting` return an `impl fmt::Display`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
I.e. do not mark them as used, or non-speculative loaded, or similar.
Previously they were sometimes finalized during early resolution, causing issues like https://github.com/rust-lang/rust/pull/144793#issuecomment-3168108005.
|
|
avoid violating `slice::from_raw_parts` safety contract in `Vec::extract_if`
The implementation of the `Vec::extract_if` iterator violates the safety contract adverized by `slice::from_raw_parts` by always constructing a mutable slice for the entire length of the vector even though that span of memory can contain holes from items already drained. The safety contract of `slice::from_raw_parts` requires that all elements must be properly
initialized.
As an example we can look at the following code:
```rust
let mut v = vec![Box::new(0u64), Box::new(1u64)];
for item in v.extract_if(.., |x| **x == 0) {
drop(item);
}
```
In the second iteration a `&mut [Box<u64>]` slice of length 2 will be constructed. The first slot of the slice contains the bitpattern of an already deallocated box, which is invalid.
This fixes the issue by only creating references to valid items and using pointer manipulation for the rest. I have also taken the liberty to remove the big `unsafe` blocks in place of targetted ones with a SAFETY comment. The approach closely mirrors the implementation of `Vec::retain_mut`.
**Note to reviewers:** The diff is easier to follow with whitespace hidden.
|
|
unstably constify float mul_add methods
Tracking issue: rust-lang/rust#146724
r? `@tgross35`
|
|
Add `std` support for `armv7a-vex-v5`
This PR adds standard library support for the VEX V5 Brain (`armv7a-vex-v5` target). It is more-or-less an updated version of the library-side work done in rust-lang/rust#131530.
This was a joint effort between me, `@lewisfm,` `@max-niederman,` `@Gavin-Niederman` and several other members of the [`vexide` project](https://github.com/vexide/).
## Background
VEXos is a fairly unconventional operating system, with user code running in a restricted enviornment with regards to I/O capabilities and whatnot. As such, several OS-dependent APIs are unsupported or have partial support (such as `std::net`, `std::process`, and most of `std::thread`). A more comprehensive list of what does or doesn't work is outlined in the [updated target documentation](https://github.com/vexide/rust/blob/vex-std/src/doc/rustc/src/platform-support/armv7a-vex-v5.md). Despite these limitations, we believe that `libstd` support on this target still has value to users, especially given the popular use of this hardware for educational purposes. For some previous discussion on this matter, see [this comment](https://github.com/rust-lang/rust/pull/131530#issuecomment-2432856841).
## SDK Linkage
VEXos doesn't really ship with an official `libc` or POSIX-style platform API (and though it does port newlib, these are stubbed on top of the underlying SDK). Instead, VEX provides their own SDK for calling platform APIs. Their official SDK is kept proprietary (with public headers), though open-source implementations exist. Following the precedent of the `armv6k-nintendo-3ds` team's work in rust-lang/rust#95897, we've opted not to directly link `libstd` to any SDK with the expectation that users will provide their own with one of the following options:
- [`vex-sdk-download`](https://github.com/vexide/vex-sdk/tree/main/packages/vex-sdk-download), which downloads an official proprietary SDK from VEX using a build script.
- [`vex-sdk-jumptable`](https://crates.io/crates/vex-sdk-jumptable), which is a compatible, open-source reimplementation of the SDK using firmware jumps.
- [`vex-sdk-pros`](https://github.com/vexide/vex-sdk/tree/main/packages/vex-sdk-pros), which uses the [PROS kernel](https://github.com/purduesigbots/pros) as a provider for SDK functions.
- Linking their own implementation or stubbing the functions required by libstd.
The `vex-sdk` crate used in the VEXos PAL provides `libc`-style FFI bindings for any compatible system library, so any of these options *should* work fine. A functional demo project using `vex-sdk-download` can be found [here](https://github.com/vexide/armv7a-vex-v5-demo/tree/main).
## Future Work
This PR implements virtually everything we are currently able to implement given the current capabilities of the platform. The exception to this is file directory enumeration, though the implementation of that is sufficiently [gross enough](https://github.com/vexide/vexide/blob/c6c5bad11e035cf4e51d429dca7e427210185ed4/packages/vexide-core/src/fs/mod.rs#L987) to drive us away from supporting this officially.
Additionally, I have a working branch implementing the `panic_unwind` runtime for this target, which is something that would be nice to see in the future, though given the volume of compiler changes i've deemed it out-of-scope for this PR.
|
|
Update cargo submodule
17 commits in 966f94733bbc94ca51ff9f1e4c49ad250ebbdc50..f2932725b045d361ff5f18ba02b1409dd1f44e71
2025-09-16 17:24:45 +0000 to 2025-09-24 11:31:26 +0000
- fix: use `host-tuple` for host target subsitution (rust-lang/cargo#16003)
- test(build-std): move away from panic_immediate_abort (rust-lang/cargo#16006)
- fix: Sparse URLs in `TomlLockfileSourceId` (rust-lang/cargo#15990)
- refactor(gctx): extract toml dotted keys validation (rust-lang/cargo#15998)
- feat: Add lint for global use of `hint-mostly-unused` (rust-lang/cargo#15995)
- Make GlobalContext Sync (rust-lang/cargo#15967)
- chore(deps): update cargo-semver-checks to v0.44.0 (rust-lang/cargo#15993)
- fix(frontatter): Only allow horizontal whitespace after fences (rust-lang/cargo#15975)
- docs: Add Lockfile schemas docs (rust-lang/cargo#15989)
- Add parallel frontend to the build performance guide (rust-lang/cargo#15970)
- chore(deps): update msrv (3 versions) to v1.88 (rust-lang/cargo#15988)
- chore(deps): update msrv (1 version) to v1.90 (rust-lang/cargo#15984)
- feat(cargo-util-schemas): Move lockfile schemas (rust-lang/cargo#15980)
- Clarify multiple version requirement behavior (rust-lang/cargo#15979)
- Adds ghostty as supported terminal for term integration (OSC 9;4) (rust-lang/cargo#15977)
- docs(team): Fixed broken office hours link (rust-lang/cargo#15976)
- docs: Clarify git sources vs git registries in source replacement documentation (rust-lang/cargo#15974)
r? ghost
|
|
Co-authored-by: Ralf Jung <post@ralfj.de>
|
|
const-eval: better wording for errors involving maybe-null pointers
Fixes https://github.com/rust-lang/rust/issues/146748
r? ``@oli-obk``
|
|
Switch next-solver related rustc dependencies of r-a to crates.io ones
r? ``@ghost``
cc ``@lnicola`` ``@lcnr``
|
|
Co-authored-by: Lewis McClelland <lewis@lewismcclelland.me>
|
|
|
|
|
|
|
|
miri subtree update
Subtree update of `miri` to https://github.com/rust-lang/miri/commit/f6466ce655ff6b203de81ba6f4cbfe8d8dd6756f.
Created using https://github.com/rust-lang/josh-sync.
r? `@ghost`
|
|
[win] Use find-msvc-tools instead of cc to find the linker and rc on Windows
`find-msvc-tools` was factored out from `cc` to allow updating the use in `rustc_codegen_ssa` (finding the linker when running the Rust compiler) and `rustc_windows_rc` (finding the Windows Resource Compiler when running the Rust compiler) to be separate from the use in `rustc_llvm` (building LLVM as part of building the Rust compiler).
|
|
test: Use SVG for terminal url test
I came across the test for `-Zterminal-urls` and found its output a bit hard to read. So, I decided to switch it to an SVG test, as I found it easier to differentiate the link and link text.
Note: `anstyle-svg` needed to be upgraded to at least `0.1.8` to support links in SVGs, so I went ahead and upgraded it to the latest version (`0.1.11`).
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: f6092f224d2b1774b31033f12d0bee626943b02f
Filtered ref: f843cd4f29bdcd8d474dbb9e5e4365eb7f263ec6
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to f6092f224d2b1774b31033f12d0bee626943b02f.
|
|
Add panic=immediate-abort
MCP: https://github.com/rust-lang/compiler-team/issues/909
This adds a new panic strategy, `-Cpanic=immediate-abort`. This panic strategy essentially just codifies use of `-Zbuild-std-features=panic_immediate_abort`. This PR is intended to just set up infrastructure, and while it will change how the compiler is invoked for users of the feature, there should be no other impacts.
In many parts of the compiler, `PanicStrategy::ImmediateAbort` behaves just like `PanicStrategy::Abort`, because actually most parts of the compiler just mean to ask "can this unwind?" so I've added a helper function so we can say `sess.panic_strategy().unwinds()`.
The panic and unwind strategies have some level of compatibility, which mostly means that we can pre-compile the sysroot with unwinding panics then the sysroot can be linked with aborting panics later. The immediate-abort strategy is all-or-nothing, enforced by `compiler/rustc_metadata/src/dependency_format.rs` and this is tested for in `tests/ui/panic-runtime/`. We could _technically_ be more compatible with the other panic strategies, but immediately-aborting panics primarily exist for users who want to eliminate all the code size responsible for the panic runtime. I'm open to other use cases if people want to present them, but not right now. This PR is already large.
`-Cpanic=immediate-abort` sets both `cfg(panic = "immediate-abort")` _and_ `cfg(panic = "abort")`. bjorn3 pointed out that people may be checking for the abort cfg to ask if panics will unwind, and also the sysroot feature this is replacing used to require `-Cpanic=abort` so this seems like a good back-compat step. At least for the moment. Unclear if this is a good idea indefinitely. I can imagine this being confusing.
The changes to the standard library attributes are purely mechanical. Apart from that, I removed an `unsafe` we haven't needed for a while since the `abort` intrinsic became safe, and I've added a helpful diagnostic for people trying to use the old feature.
To test that `-Cpanic=immediate-abort` conflicts with other panic strategies, I've beefed up the core-stubs infrastructure a bit. There is now a separate attribute to set flags on it.
I've added a test that this produces the desired codegen, called `tests/run-make-cargo/panic-immediate-abort-codegen/` and also a separate run-make-cargo test that checks that we can build a binary.
|
|
Rollup of 5 pull requests
Successful merges:
- rust-lang/rust#146795 (Enable `limit_rdylib_exports` on wasm targets)
- rust-lang/rust#146828 (fix a crash in rustdoc merge finalize without input file)
- rust-lang/rust#146848 (Add x86_64-unknown-motor (Motor OS) tier 3 target)
- rust-lang/rust#146884 (Fix modification check of `rustdoc-json-types`)
- rust-lang/rust#146887 (Remove unused #![feature(get_mut_unchecked)] in Rc and Arc examples)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Mark float intrinsics with no preconditions as safe
Note: for ease of reviewing, the list of safe intrinsics is sorted in the first commit, and then safe intrinsics are added in the second commit.
All *recently added* float intrinsics have been correctly marked as safe to call due to the fact that they have no preconditions. This adds the remaining float intrinsics which are safe to call to the safe intrinsic list, and removes the unsafe blocks around their calls.
---
Side note: this may want a try run before being added to the queue, since I'm not sure if there's any tier-2 code that uses these intrinsics that might not be tested on the usual PR flow. We've already uncovered a few places in subtrees that do this, and it's worth double-checking before clogging up the queue.
|
|
|
|
|
|
|
|
TB: update terminology to match paper & MiniRust
|
|
|
|
|
|
The implementation of the `Vec::extract_if` iterator violates the safety
contract adverized by `slice::from_raw_parts` by always constructing a
mutable slice for the entire length of the vector even though that span
of memory can contain holes from items already drained. The safety
contract of `slice::from_raw_parts` requires that all elements must be
properly initialized.
As an example we can look at the following code:
```rust
let mut v = vec![Box::new(0u64), Box::new(1u64)];
for item in v.extract_if(.., |x| **x == 0) {
drop(item);
}
```
In the second iteration a `&mut [Box<u64>]` slice of length 2 will be
constructed. The first slot of the slice contains the bitpattern of an
already deallocated box, which is invalid.
This fixes the issue by only creating references to valid items and
using pointer manipulation for the rest. I have also taken the liberty
to remove the big `unsafe` blocks in place of targetted ones with a
SAFETY comment. The approach closely mirrors the implementation of
`Vec::retain_mut`.
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
|
|
|
|
Port #[macro_export] to the new attribute parsing infrastructure
Ports macro_export to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197
r? ``@oli-obk``
cc ``@JonathanBrouwer`` ``@jdonszelmann``
|
|
|
|
Co-authored-by: Anne Stijns <anstijns@gmail.com>
|
|
|
|
|
|
|
|
|
|
Fix and provide instructions for running test suite on Apple simulators
The following now works:
```sh
./x test --host='' --target aarch64-apple-ios-sim --skip tests/debuginfo
./x test --host='' --target aarch64-apple-tvos-sim --skip tests/debuginfo
./x test --host='' --target aarch64-apple-watchos-sim --skip tests/debuginfo
./x test --host='' --target aarch64-apple-visionos-sim --skip tests/debuginfo
```
I have documented the setup I used [in the `rustc-dev-guide`](https://rustc-dev-guide.rust-lang.org/tests/running.html#testing-on-emulators), it's fairly standard use of `remote-test-server` (with a small fix to library load paths which I've made in the first commit).
I first tried the somewhat simpler `target.aarch64-apple-ios-sim.runner = "xcrun simctl spawn $UDID"`, but that doesn't work as required libraries etc. also need to be copied to the device.
The debuginfo tests fail, I think because the debug info in `.dSYM` isn't available. I am yet unsure exactly how to fix this, either we need to copy that directory to the target as well, or we need to configure `lldb` somehow to read it from the host.
I decided to not add this to our CI, since I suspect we wouldn't gain much from it? Running on the simulator still uses the host Darwin kernel, it's basically just configured to run in another mode with more restricted permissions and different system libraries.
r? jieyouxu
CC ``@simlay,`` you're a lot more familiar with `xcrun simctl` than I.
|
|
`rust-analyzer` subtree update
Subtree update of `rust-analyzer` to https://github.com/rust-lang/rust-analyzer/commit/0c62c01aae05639bbc0605ade5435dfa6da96307.
Created using https://github.com/rust-lang/josh-sync.
r? `@ghost`
|
|
|
|
|
|
|
|
Pull recent changes from https://github.com/rust-lang/rust via Josh.
Upstream ref: ec38671075266e9cee0348701da2e133379e7c6c
Filtered ref: ed8e25574abf50600d9d2fd61eda90708ccce6c2
Upstream diff: https://github.com/rust-lang/rust/compare/3f1552a273e43e15f6ed240d00e1efdd6a53e65e...ec38671075266e9cee0348701da2e133379e7c6c
This merge was created using https://github.com/rust-lang/josh-sync.
|
|
This updates the rust-version file to ec38671075266e9cee0348701da2e133379e7c6c.
|
|
|