Commit graph

33960 commits

Author SHA1 Message Date
¨Florian
5335d8cbc5 Fix syntax fixup producing invalid punctuation
Fixes #19206.
Fixes #18244.
2025-03-08 13:21:00 +01:00
Moulins
18772836d4 Use rustc_abi code for SIMD layout in rust-analyzer 2025-03-08 12:36:42 +01:00
Moulins
4929f38544 Remove most manual LayoutData creations and move them to rustc_abi
...either as:
- methods on LayoutCalculator, for faillible operations;
- constructors on LayoutData, for infaillible ones.
2025-03-08 12:27:19 +01:00
Prajwal S N
23aa38d39b
fix: do not apply editorconfig to git commit msg
The `max_line_length` property was set to 100 for all filetypes, which
led to git commit messages being wrapped at 100 characters instead of
the usual 75. This introduces an exception for the special file used by
git to write commit messages.

Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-03-08 01:44:27 +05:30
Prajwal S N
39391b0d38
fix(hir): VariantDef is impl HasSource
A new syntax node `ast::VariantDef` has been introduced to map between the HIR node and the AST.
The files have been updated with `cargo test -p xtask`.

Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-03-08 01:25:27 +05:30
Ali Bektas
93b1e7826a Remove explicit error message when build.rs fails 2025-03-07 18:27:29 +01:00
Arthur Baars
ded92f7552 Log build script error output in load_cargo::load_workspace_at 2025-03-07 16:07:56 +01:00
Lukas Wirth
62dea277cc
Merge pull request #19308 from Veykril/push-rnrxutwlvmly
Move loaded project MSRV back to 1.78, show notification for the warning
2025-03-07 07:06:54 +00:00
Lukas Wirth
488d1dc7aa
Merge pull request #19307 from Natural-selection1/master
Fix logical error in PR #19297
2025-03-07 06:58:48 +00:00
Lukas Wirth
1427a91c62 Pop up a notification for the MSRV project loading warning 2025-03-07 07:51:53 +01:00
Lukas Wirth
0424e2e2bf Move project MSRV back to 1.78 2025-03-07 07:51:53 +01:00
Tongjun Gao
7d68c28873 Refactor relevance scoring to use a named constant BASE_SCORE
Replace magic number with a named constant for improved readability and maintainability of the scoring logic
2025-03-07 14:44:57 +08:00
Tongjun Gao
88e18230ba Fix logical error in relevance scoring implementation 2025-03-07 14:21:57 +08:00
bors
7769e4642f Auto merge of #138127 - compiler-errors:rollup-kcarqrz, r=compiler-errors
Rollup of 17 pull requests

Successful merges:

 - #137827 (Add timestamp to unstable feature usage metrics)
 - #138041 (bootstrap and compiletest: Use `size_of_val` from the prelude instead of imported)
 - #138046 (trim channel value in `get_closest_merge_commit`)
 - #138053 (Increase the max. custom try jobs requested to `20`)
 - #138061 (triagebot: add a `compiler_leads` ad-hoc group)
 - #138064 (Remove - from xtensa targets cpu names)
 - #138075 (Use final path segment for diagnostic)
 - #138078 (Reduce the noise of bootstrap changelog warnings in --dry-run mode)
 - #138081 (Move `yield` expressions behind their own feature gate)
 - #138090 (`librustdoc`: flatten nested ifs)
 - #138092 (Re-add `DynSend` and `DynSync` impls for `TyCtxt`)
 - #138094 (a small borrowck cleanup)
 - #138098 (Stabilize feature `const_copy_from_slice`)
 - #138103 (Git ignore citool's target directory)
 - #138105 (Fix broken link to Miri intrinsics in documentation)
 - #138108 (Mention me (WaffleLapkin) when changes to `rustc_codegen_ssa` occur)
 - #138117 ([llvm/PassWrapper] use `size_t` when building arg strings)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-03-07 02:56:46 +00:00
bors
2712dad72a Auto merge of #138114 - compiler-errors:rollup-7xr4b69, r=compiler-errors
Rollup of 25 pull requests

Successful merges:

 - #135733 (Implement `&pin const self` and `&pin mut self` sugars)
 - #135895 (Document workings of successors more clearly)
 - #136922 (Pattern types: Avoid having to handle an Option for range ends in the type system or the HIR)
 - #137303 (Remove `MaybeForgetReturn` suggestion)
 - #137327 (Undeprecate env::home_dir)
 - #137358 (Match Ergonomics 2024: add context and examples to the unstable book)
 - #137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden))
 - #137565 (Try to point of macro expansion from resolver and method errors if it involves macro var)
 - #137637 (Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck)
 - #137643 (Add DWARF test case for non-C-like `repr128` enums)
 - #137744 (Re-add `Clone`-derive on `Thir`)
 - #137758 (fix usage of ty decl macro fragments in attributes)
 - #137764 (Ensure that negative auto impls are always applicable)
 - #137772 (Fix char count in `Display` for `ByteStr`)
 - #137798 (ci: use ubuntu 24 on arm large runner)
 - #137802 (miri native-call support: all previously exposed provenance is accessible to the callee)
 - #137805 (adjust Layout debug printing to match the internal field name)
 - #137808 (Do not require that unsafe fields lack drop glue)
 - #137820 (Clarify why InhabitedPredicate::instantiate_opt exists)
 - #137825 (Provide more context on resolve error caused from incorrect RTN)
 - #137834 (rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME)
 - #137868 (Add minimal platform support documentation for powerpc-unknown-linux-gnuspe)
 - #137910 (Improve error message for `AsyncFn` trait failure for RPIT)
 - #137920 (interpret/provenance_map: consistently use range_is_empty)
 - #138038 (Update `compiler-builtins` to 0.1.151)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-03-06 23:39:38 +00:00
Chayim Refael Friedman
21a88a3767
Merge pull request #19304 from ChayimFriedman2/restart-syntax-tree
minor: Mark `rust-analyzer.showSyntaxTree` config option as requiring server restart
2025-03-06 22:32:23 +00:00
Chayim Refael Friedman
0afa5e8096 Mark rust-analyzer.showSyntaxTree config option as requiring server restart
We register the provider when we start the server. It confused me why I set the option and it didn't work, so probably better to have it hint people.
2025-03-07 00:16:54 +02:00
Michael Goulet
75908de5b1
Rollup merge of #138090 - yotamofek:pr/rustdoc/flatten-ifs, r=GuillaumeGomez
`librustdoc`: flatten nested ifs

Some minor cosmetic improvements (IMHO) found while working on something else.
But reviewed with [no whitespace](https://github.com/rust-lang/rust/pull/138090/files?diff=unified&w=1).
2025-03-06 15:40:06 -05:00
Michael Goulet
e6c03e27e1
Rollup merge of #138064 - SergioGasquez:feat/xtensa-names, r=jieyouxu
Remove - from xtensa targets cpu names

This PR removes the `-` from the Xtensa CPU names as it was updated in LLVM, see https://github.com/esp-rs/rust/issues/252
2025-03-06 15:40:03 -05:00
Michael Goulet
df372e120b
Rollup merge of #138061 - jieyouxu:target-reviewers, r=wesleywiser
triagebot: add a `compiler_leads` ad-hoc group

Intended for e.g. rolling reviewers for [adding new targets](https://forge.rust-lang.org/compiler/proposals-and-stabilization.html#targets).

rust-lang/rust-forge side doc update: https://github.com/rust-lang/rust-forge/pull/815

r? ghost (for testing)

cc ``@davidtwco`` or ``@wesleywiser``
2025-03-06 15:40:03 -05:00
Michael Goulet
9abca18b26
Rollup merge of #138053 - Kobzol:more-try-jobs, r=marcoieni
Increase the max. custom try jobs requested to `20`

Requested [here](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Increase.20try-job.20limit).

r? ````@marcoieni````
2025-03-06 15:40:02 -05:00
Michael Goulet
2f0fa7f062
Rollup merge of #138046 - onur-ozkan:trim-include-str, r=jieyouxu
trim channel value in `get_closest_merge_commit`

This was a silly bug which caused `git_upstream_merge_base` to never work because it was `nightly\n` not `nightly`.
2025-03-06 15:40:01 -05:00
Michael Goulet
c1a280f983
Rollup merge of #138041 - thaliaarchi:use-prelude-size-of.boostrap-compiletest, r=jieyouxu
bootstrap and compiletest: Use `size_of_val` from the prelude instead of imported

Use `std::mem::size_of_val` from the prelude instead of importing or qualifying it.

This function was added to all preludes in Rust 1.80.

r? ``@jieyouxu``
2025-03-06 15:40:01 -05:00
Michael Goulet
c58270ca54
Rollup merge of #137827 - yaahc:timestamp-metrics, r=estebank
Add timestamp to unstable feature usage metrics

part of https://github.com/rust-lang/rust/issues/129485

with this we should be able to temporarily enable metrics on docs.rs to gather a nice test dataset for the initial PoC dashboard

r? ```@estebank```
2025-03-06 15:40:00 -05:00
bors
06063f00c3 Auto merge of #136831 - ehuss:update-stdarch, r=Amanieu
Update stdarch

Updates stdarch

- core_arch: Add LoongArch basic intrinsics: https://github.com/rust-lang/stdarch/pull/1688
- New ARM intrinsic generator: https://github.com/rust-lang/stdarch/pull/1693
- Fix the bug in CMPINT intrinsics with IMM3=7: https://github.com/rust-lang/stdarch/pull/1694
- Expand feature detection on AArch64 Darwin: https://github.com/rust-lang/stdarch/pull/1695
- Tidying x86 `as_*` functions: https://github.com/rust-lang/stdarch/pull/1696
- Fix typo and prettify comment: https://github.com/rust-lang/stdarch/pull/1697
- add is_s390x_feature_detected: https://github.com/rust-lang/stdarch/pull/1699
- add vec_add for s390x: https://github.com/rust-lang/stdarch/pull/1703
- s390x: add vec_sub, vec_mul, vec_min, vec_max, vec_abs and vec_splats: https://github.com/rust-lang/stdarch/pull/1704
- Fix build and CLI behaviour for stdarch-gen-arm. https://github.com/rust-lang/stdarch/pull/1705
- Fix some test naming, and refactor stdarch-verify in general: https://github.com/rust-lang/stdarch/pull/1707
- Update all stdarch crates to Rust 2024: https://github.com/rust-lang/stdarch/pull/1710
- Add keylocker (kl and widekl) intrinsics and runtime feature detection: https://github.com/rust-lang/stdarch/pull/1706
- S390x vector bitwise operations: https://github.com/rust-lang/stdarch/pull/1709
- Update CI to FreeBSD 13.4: https://github.com/rust-lang/stdarch/pull/1715
- Update wasm sub sat intrinsics for LLVM 20: https://github.com/rust-lang/stdarch/pull/1719
- powerpc: use more target-independent llvm intrinsics (min, max, round, countlz): https://github.com/rust-lang/stdarch/pull/1713
- S390x float rounding: https://github.com/rust-lang/stdarch/pull/1712
- mark riscv intrinsics as safe: https://github.com/rust-lang/stdarch/pull/1717
- change redundant transmutations of sign to cast_unsigned: https://github.com/rust-lang/stdarch/pull/1711
- Fix - AArch64 Big Endian Intrinsics: https://github.com/rust-lang/stdarch/pull/1708
- mark x86 intrinsics as safe: https://github.com/rust-lang/stdarch/pull/1714
- AArch64: Add NEON fp16 intrinsics: https://github.com/rust-lang/stdarch/pull/1726
- wasm: use simd_as for float to integer conversions: https://github.com/rust-lang/stdarch/pull/1724
- nvptx: use simd_fmin and simd_fmax for minnum and maxnum: https://github.com/rust-lang/stdarch/pull/1725
- powerpc: use simd_ceil and simd_floor: https://github.com/rust-lang/stdarch/pull/1723
- Changed altivec.rs to new intrinsic declaration: https://github.com/rust-lang/stdarch/pull/1722
- Remove some allow(unsafe_op_in_unsafe_fn)s and use target_feature 1.1 in examples: https://github.com/rust-lang/stdarch/pull/1727
- fix - neon type signed unsigned conversions: https://github.com/rust-lang/stdarch/pull/1729
- s390x_is_feature_detected!: detect more features: https://github.com/rust-lang/stdarch/pull/1720
- Fix doctests failing due to unused_unsafe: https://github.com/rust-lang/stdarch/pull/1731
- fix compilation on armebv7r-none-eabi: https://github.com/rust-lang/stdarch/pull/1733
- wasm: update for rintf intrinsic rename: https://github.com/rust-lang/stdarch/pull/1721
- powerpc: use the simd_fma intrinsic for vec_madd: https://github.com/rust-lang/stdarch/pull/1734
- powerpc: use llvm.fshl for vec_rl: https://github.com/rust-lang/stdarch/pull/1735
- s390x: add more intrinsics: https://github.com/rust-lang/stdarch/pull/1728
- make _mm256_zero{upper,all} safe: https://github.com/rust-lang/stdarch/pull/1736
- fix unnecessary unsafe error in doctest: https://github.com/rust-lang/stdarch/pull/1739
- Feat - Aarch64 FEAT_FAMINMAX: https://github.com/rust-lang/stdarch/pull/1732
- feat - FEAT_LUT neon instrinsics: https://github.com/rust-lang/stdarch/pull/1741
2025-03-06 20:34:20 +00:00
Eric Huss
22fff683c4 Update stdarch 2025-03-06 11:11:55 -08:00
Chayim Refael Friedman
62e7d2851b Warn the user when a rename will change the meaning of the program
Specifically, when a rename of a local will change some code that refers it to refer another local, or some code that refer another local to refer to it.

We do it by introducing a dummy edit with an annotation. I'm not a fond of this approach, but I don't think LSP has a better way.
2025-03-06 21:07:10 +02:00
Chayim Refael Friedman
422213cc9a Use correct crate for trait env in render_const_scalar() 2025-03-06 21:00:08 +02:00
Chayim Refael Friedman
2fc0dc0f13 Pass the target crate in HirFormatter
This is required to format evaluated consts, because we need trait env, and it needs the crate (currently it uses the last crate in topological order, which is wrong, the next commit will fix that).
2025-03-06 21:00:05 +02:00
Chayim Refael Friedman
1cd9e683e8 Normalize projections in evaluated const display and layout calculation 2025-03-06 20:55:50 +02:00
Michael Goulet
081fc3d4fb
Rollup merge of #138038 - tgross35:update-builtins, r=tgross35
Update `compiler-builtins` to 0.1.151

This enables `f16` builtins for loongarch [1] and adds support for Cygwin [2].

[1]: https://github.com/rust-lang/compiler-builtins/pull/770
[2]: https://github.com/rust-lang/compiler-builtins/pull/774

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl
2025-03-06 12:22:29 -05:00
Michael Goulet
631b089bb2
Rollup merge of #137920 - RalfJung:provenance-map-emptiness, r=oli-obk
interpret/provenance_map: consistently use range_is_empty

https://github.com/rust-lang/rust/pull/137704 started using this for per-ptr provenance; let's be consistent and use it also for the per-byte provenance check. Also rename the methods to avoid having both "get" and "is_empty" in the name.

r? ````@oli-obk````
2025-03-06 12:22:27 -05:00
Michael Goulet
c18b3f53ee
Rollup merge of #137910 - compiler-errors:async-fn-goal-error, r=oli-obk
Improve error message for `AsyncFn` trait failure for RPIT

Use a `WellFormedDerived` obligation cause to make sure we can turn an `AsyncFnKindHelper` trait goal into its parent `AsyncFn*` goal, then fix the logic for reporting `AsyncFn*` kind mismatches.

Best reviewed without whitespace.

Fixes #137905

r? oli-obk
2025-03-06 12:22:25 -05:00
Michael Goulet
34dd92c67b
Rollup merge of #137868 - taiki-e:powerpcspe-doc, r=workingjubilee
Add minimal platform support documentation for powerpc-unknown-linux-gnuspe

Per https://github.com/rust-lang/rust/pull/137860#issuecomment-2692358259, add minimal platform support documentation, including a brief summary and links to more detailed information about this target.

The added documentation is minimal. This is somewhat similar to [powerpc-unknown-openbsd, which also has no target maintainer](https://doc.rust-lang.org/nightly/rustc/platform-support/powerpc-unknown-openbsd.html). The rest of the template is left to target maintainers.

I also updated powerpc-unknown-linux-muslspe platform support documentation and added link to powerpc-unknown-linux-gnuspe platform support documentation.

cc ```@glaubitz```
cc ```@BKPepe```
r? workingjubilee

```@rustbot``` label +O-PowerPC
2025-03-06 12:22:24 -05:00
Michael Goulet
5eaf0025f7
Rollup merge of #137834 - lolbinarycat:rustc_fluent_macro-137815, r=BoxyUwU
rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME

fixes #137815
2025-03-06 12:22:22 -05:00
Michael Goulet
e74ec9ebb3
Rollup merge of #137825 - estebank:rtn-sugg-2, r=compiler-errors
Provide more context on resolve error caused from incorrect RTN

When encountering a resolve E0575 error for an associated method (when a type was expected), see if it could have been an intended return type notation bound.

```
error[E0575]: expected associated type, found associated function `Trait::method`
  --> $DIR/bad-inputs-and-output.rs:31:36
   |
LL | fn foo_qualified<T: Trait>() where <T as Trait>::method(i32): Send {}
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not a associated type
   |
help: you might have meant to use the return type notation syntax
   |
LL - fn foo_qualified<T: Trait>() where <T as Trait>::method(i32): Send {}
LL + fn foo_qualified<T: Trait>() where T::method(..): Send {}
   |
```

Built on top of #137824, only second commit is relevant for review.

r? ````````@compiler-errors````````
2025-03-06 12:22:21 -05:00
Michael Goulet
9662bf7e12
Rollup merge of #137820 - meithecatte:instantiate-opt, r=BoxyUwU
Clarify why InhabitedPredicate::instantiate_opt exists

At first glance, the extra casework seems pointless and needlessly error-prone. Clarify that there is a reason for it being there.
2025-03-06 12:22:20 -05:00
Michael Goulet
b842eb258e
Rollup merge of #137808 - jswrenn:droppy-unsafe-fields, r=nnethercote
Do not require that unsafe fields lack drop glue

Instead, we adopt the position that introducing an `unsafe` field itself carries a safety invariant: that if you assign an invariant to that field weaker than what the field's destructor requires, you must ensure that field is in a droppable state in your destructor.

See:
- https://github.com/rust-lang/rfcs/pull/3458#discussion_r1971676100
- 502113897

Tracking Issue: #132922
2025-03-06 12:22:19 -05:00
Michael Goulet
9e1f2e7b4d
Rollup merge of #137805 - RalfJung:layout-debug-print, r=Noratrieb
adjust Layout debug printing to match the internal field name

The field got renamed a while ago, but the debug printing was not updated to match.
2025-03-06 12:22:19 -05:00
Michael Goulet
f9cda5b265
Rollup merge of #137802 - RalfJung:miri-native-call-exposed, r=oli-obk
miri native-call support: all previously exposed provenance is accessible to the callee

When Miri invokes a native C function, the memory C can access needs to be "prepared": to avoid false positives, we need to consider all that memory initialized, and we need to consider it to have arbitrary provenance. So far we did this for all pointers passed to C, but not for pointers that were exposed already before the native call. This PR adjusts the logic so that we now "prepare" all memory that has ever been exposed.

This fixes cases such as:
- cast a pointer to integer, send that integer to C, and access the memory there (`test_pass_ptr_as_int`)
- send a pointer to some memory to C, which stores it somewhere; then in Rust store another pointer in that memory, and access that via C (`test_pass_ptr_via_previously_shared_mem`)

r? `````@oli-obk`````
2025-03-06 12:22:18 -05:00
Michael Goulet
9a2fbb401e
Rollup merge of #137798 - marcoieni:ubuntu-24-large-runner-arm, r=Kobzol
ci: use ubuntu 24 on arm large runner

try-job: dist-aarch64-linux
2025-03-06 12:22:17 -05:00
Michael Goulet
9038eafd8c
Rollup merge of #137772 - thaliaarchi:bstr-display, r=joshtriplett
Fix char count in `Display` for `ByteStr`

`ByteStr as Display` performs a byte count when a char count is required.

r? ```````````@joshtriplett```````````
2025-03-06 12:22:16 -05:00
Michael Goulet
c04c674d70
Rollup merge of #137764 - compiler-errors:always-applicable-negative-impl, r=lcnr
Ensure that negative auto impls are always applicable

r? lcnr (or reassign if you dont want to review)

https://github.com/rust-lang/rust/issues/68318#issuecomment-2689265030
2025-03-06 12:22:16 -05:00
Michael Goulet
568148a9b8
Rollup merge of #137758 - jdonszelmann:fix-137662, r=nnethercote
fix usage of ty decl macro fragments in attributes

See the test case. Due to one missing code path (and also the changes in #137517), using $ty or other specific fragments as part of an attr wouldn't work. $tt used to work since it wouldn't be parsed anywhere along the way.

Closes #137662
2025-03-06 12:22:15 -05:00
Michael Goulet
b2286d5912
Rollup merge of #137744 - skius:master, r=Nadrieril
Re-add `Clone`-derive on `Thir`

This PR adds back `Clone` for `Thir`.

If a tool wants to access a `thir_body` query result in the `Callbacks::after_analysis` hook, it can't do so (I think) without a `Clone` impl on `Thir`, because `check_unsafety` steals the value. With `Clone`, the `thir_body` query provider can be overriden to cache a clone of the `Thir`, circumventing that issue.

Specifically, we need it for https://github.com/rust-corpus/qrates, [here](ca7a230196/extractor/src/lib.rs (L205)).

Please let me know if there are issues with this PR/if there's another way to solve the problem at hand
2025-03-06 12:22:14 -05:00
Michael Goulet
f2ccf5065b
Rollup merge of #137643 - beetrees:repr128-dwarf-variant-test, r=jieyouxu
Add DWARF test case for non-C-like `repr128` enums

LLVM 20 fixes DWARF debuginfo for non-C-like 128-bit enums: this PR adds a test case to the `repr128-dwarf` test to ensure that LLVM doesn't regress in the future.

Tracking issue: #56071
2025-03-06 12:22:14 -05:00
Michael Goulet
dcd7cd867b
Rollup merge of #137637 - compiler-errors:dyn-cast-from-dyn-star, r=oli-obk
Check dyn flavor before registering upcast goal on wide pointer cast in MIR typeck

See the comment on the test :)

Fixes #137579
2025-03-06 12:22:13 -05:00
Michael Goulet
5ade8cd159
Rollup merge of #137565 - compiler-errors:macro-ex, r=estebank
Try to point of macro expansion from resolver and method errors if it involves macro var

In the case that a macro caller passes an identifier into a macro generating a path or method expression, point out that identifier in the context of the *macro* so it's a bit more clear how the macro is involved in causing the error.

r? ``````````@estebank`````````` or reassign
2025-03-06 12:22:13 -05:00
Michael Goulet
11b46824f0
Rollup merge of #137534 - xizheyin:issue-137342, r=GuillaumeGomez
[rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden)

Part of #137342

![image](https://github.com/user-attachments/assets/68b4649a-a64a-43b2-8a73-6ac92b486e9e)
2025-03-06 12:22:12 -05:00
Michael Goulet
caa15f4a5e
Rollup merge of #137358 - dianne:new-match-ergonomics-examples, r=Nadrieril
Match Ergonomics 2024: add context and examples to the unstable book

The examples here are pretty limited and don't illustrate the differences between the two feature gates, but my hope is that they get the general idea across. I can try and add some more nuance or more comprehensive examples too if that would help.

Hopefully the doctest isn't too sneaky. I wanted to make the bindings' types explicit, and the most readable way I could think of was to use a helper.

~~Unfortunately it looks like the "run this code" button doesn't work yet, but I made sure the examples are cross-edition, so that should resolve on its own once playground's nightly updates (or if playground's default becomes edition 2024, or if the edition in the markdown gets forwarded to playground).~~ It looks like the default edition on playground is now 2024, so the run button works! There's no output, but having a button to show that it compiles is nice, I think.

Relevant tracking issue: #123076

r? ``````@Nadrieril``````
2025-03-06 12:22:11 -05:00