about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-04-24fix for issue 135412Kivooeo-7/+74
2025-04-20Auto merge of #140079 - ChrisDenton:rollup-2h5cg94, r=ChrisDentonbors-598/+898
Rollup of 5 pull requests Successful merges: - #137953 (simd intrinsics with mask: accept unsigned integer masks, and fix some of the errors) - #139990 (transmutability: remove NFA intermediate representation) - #140044 (rustc-dev-guide subtree update) - #140051 (Switch exploit mitigations to mdbook footnotes) - #140054 (docs: fix typo change from inconstants to invariants) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-20Auto merge of #140083 - ChrisDenton:rollup-o0xjy0y, r=ChrisDentonbors-211/+185
Rollup of 5 pull requests Successful merges: - #138870 (Add target-specific NaN payloads for the missing tier 2 targets) - #139028 (Make target maintainers more easily pingable) - #140063 (Remove stray newline from post-merge report) - #140067 (Remove (now unused) #[rustc_macro_edition_2021] attribute) - #140068 (replace broken links armv7-rtems-eabihf.md) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-20Rollup merge of #140068 - detrina:master, r=NoratriebChris Denton-2/+2
replace broken links armv7-rtems-eabihf.md Hi team , i found broken link in `src/doc/rustc/src/platform-support/armv7-rtems-eabihf.md` and replace thanks
2025-04-20Rollup merge of #140067 - m-ou-se:remove-macro-2021-hack, r=UrgauChris Denton-40/+1
Remove (now unused) #[rustc_macro_edition_2021] attribute Now that https://github.com/rust-lang/rust/pull/139114 has been merged, we no longer need the temporary hack (`#[rustc_macro_edition_2021]`) that we introduced in https://github.com/rust-lang/rust/pull/138717. Time to remove it.
2025-04-20Rollup merge of #140063 - Kobzol:ci-report-fix-newline, r=jieyouxuChris Denton-1/+1
Remove stray newline from post-merge report [Oops](https://github.com/rust-lang/rust/pull/140043#issuecomment-2816999352) :) r? jieyouxu
2025-04-20Rollup merge of #139028 - Noratrieb:ping-pong, r=RalfJungChris Denton-165/+176
Make target maintainers more easily pingable Put them all on the same line with just their GitHub handles to make it very easy to copy and paste (with ctrl-shift-v!!!) the names. We have no use for email, so I removed all the emails, we don't care about people's full names either. This is a pretty big PR with lots of changes. I may have gotten one or two wrong, who knows. I went over it fairly aggressively, removing all information I deemed unnecessary. > [!Caution] > When copying these usernames, use **ctrl-shift-v** to avoid pasting them as links r? RalfJung you indirectly asked for this :) (anyone is welcome to review)
2025-04-20Rollup merge of #138870 - beetrees:tier-2-nans, r=RalfJungChris Denton-3/+5
Add target-specific NaN payloads for the missing tier 2 targets This PR adds target-specific NaN payloads for the remaining tier 2 targets: - `arm64ec`: This target is a mix of `x86_64` and `aarch64`, meaning as they both have no extra payloads `arm64ec` also has no extra payloads. - `loongarch64`: Per [LoongArch Reference Manual - Volume 1: Basic Architecture](https://github.com/loongson/LoongArch-Documentation/releases/download/2023.04.20/LoongArch-Vol1-v1.10-EN.pdf) section 3.1.1.3, LoongArch does quieting NaN propagation with the Rust preferred NaN as its default NaN, meaning it has no extra payloads. - `nvptx64`: Per [PTX ISA documentation](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions) section 9.7.3 (and section 9.7.4 for `f16`), all payloads are possible. The documentation explicitly states that `f16` and `f32` operations result in an unspecified NaN payload, while for `f64` it states "NaN payloads are supported" without specifying how or what payload will be generated if there are no input NaNs. - `powerpc` and `powerpc64`: Per [Power Instruction Set Architecture](https://files.openpower.foundation/s/9izgC5Rogi5Ywmm/download/OPF_PowerISA_v3.1C.pdf) Book I section 4.3.2, PowerPC does quieting NaN propagation with the Rust preferred NaN being generated if no there are no input NaNs, meaning it has no extra payloads. - `s390x`: Per [IBM z/Architecture Principles of Operation](https://www.vm.ibm.com/library/other/22783213.pdf#page=965) page 9-3, s390x does quieting NaN propagation with the Rust's preferred NaN as its default NaN, meaning it has no extra payloads. Tracking issue: #128288 cc ``@RalfJung`` ``@rustbot`` label +T-lang Also cc relevant target maintainers of tier 2 targets: - `arm64ec`: ``@dpaoliello`` - `loongarch64`: ``@heiher`` ``@xiangzhai`` ``@zhaixiaojuan`` ``@xen0n`` - `nvptx64`: ``@RDambrosio016`` ``@kjetilkjeka`` - `powerpc`: the only documented maintainer is ``@BKPepe`` for the tier 3 `powerpc-unknown-linux-muslspe`. - `powerpc64`: ``@daltenty`` ``@gilamn5tr`` ``@Gelbpunkt`` ``@famfo`` ``@neuschaefer`` - `s390x`: ``@uweigand`` ``@cuviper``
2025-04-20Make target maintainers more easily pingableNoratrieb-165/+176
Put them all on the same line with just their GitHub handles to make it very easy to copy and paste (with ctrl-shift-v!!!) the names. We have no use for email, so I removed all the emails, we don't care about people's full names either. Co-authored-by: Thalia Archibald <thalia@archibald.dev>
2025-04-20Rollup merge of #140054 - c-git:patch-1, r=joboetChris Denton-1/+1
docs: fix typo change from inconstants to invariants
2025-04-20Rollup merge of #140051 - ehuss:exploit-footnotes, r=jieyouxuChris Denton-43/+22
Switch exploit mitigations to mdbook footnotes This updates the exploit mitigations chapter in the rustc book to use the footnote feature of mdbook instead of manually implementing footnotes with HTML.
2025-04-20Rollup merge of #140044 - tshepang:rdg-push, r=jieyouxuChris Denton-111/+517
rustc-dev-guide subtree update r? ``@ghost``
2025-04-20Rollup merge of #139990 - jswrenn:no-nfas, r=tmiaskoChris Denton-295/+239
transmutability: remove NFA intermediate representation Prior to this commit, the transmutability analysis used an intermediate NFA representation of type layout. We then determinized this representation into a DFA, upon which we ran the core transmutability analysis. Unfortunately, determinizing NFAs is expensive. In this commit, we avoid NFAs entirely by observing that Rust `union`s are the only source of nondeterminism and that it is comparatively cheap to compute the DFA union of DFAs. We also implement Graphviz DOT debug formatting of DFAs. Fixes rust-lang/project-safe-transmute#23 Fixes rust-lang/project-safe-transmute#24 r? ``@compiler-errors``
2025-04-20Rollup merge of #137953 - RalfJung:simd-intrinsic-masks, r=WaffleLapkinChris Denton-148/+119
simd intrinsics with mask: accept unsigned integer masks, and fix some of the errors It's not clear at all why the mask would have to be signed, it is anyway interpreted bitwise. The backend should just make sure that works no matter the surface-level type; our LLVM backend already does this correctly. The note of "the mask may be widened, which only has the correct behavior for signed integers" explains... nothing? Why can't the code do the widening correctly? If necessary, just cast to the signed type first... Also while we are at it, fix the errors. For simd_masked_load/store, the errors talked about the "third argument" but they meant the first argument (the mask is the first argument there). They also used the wrong type for `expected_element`. I have extremely low confidence in the GCC part of this PR. See [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/257879-project-portable-simd/topic/On.20the.20sign.20of.20masks)
2025-04-20simd intrinsics with mask: accept unsigned integer masksRalf Jung-148/+119
2025-04-20Update links armv7-rtems-eabihf.mdDevkuni-2/+2
2025-04-20Remove #[rustc_macro_edition_2021].Mara Bos-40/+1
It was only temporarily used by pin!(), which no longer needs it.
2025-04-20Remove stray newline from post-merge reportJakub Beránek-1/+1
2025-04-20transmutability: remove NFA intermediate representationJack Wrenn-295/+239
Prior to this commit, the transmutability analysis used an intermediate NFA representation of type layout. We then determinized this representation into a DFA, upon which we ran the core transmutability analysis. Unfortunately, determinizing NFAs is expensive. In this commit, we avoid NFAs entirely by observing that Rust `union`s are the only source of nondeterminism and that it is comparatively cheap to compute the DFA union of DFAs. We also implement Graphviz DOT debug formatting of DFAs. Fixes rust-lang/project-safe-transmute#23 Fixes rust-lang/project-safe-transmute#24
2025-04-20Auto merge of #140043 - ChrisDenton:rollup-vwf0s9j, r=ChrisDentonbors-1576/+2813
Rollup of 8 pull requests Successful merges: - #138934 (support config extensions) - #139091 (Rewrite on_unimplemented format string parser.) - #139753 (Make `#[naked]` an unsafe attribute) - #139762 (Don't assemble non-env/bound candidates if projection is rigid) - #139834 (Don't canonicalize crate paths) - #139868 (Move `pal::env` to `std::sys::env_consts`) - #139978 (Add citool command for generating a test dashboard) - #139995 (Clean UI tests 4 of n) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-19docs: fix typo change from inconstants to invariantsOnè-1/+1
2025-04-19Auto merge of #140053 - ChrisDenton:rollup-tt00skl, r=ChrisDentonbors-149/+363
Rollup of 7 pull requests Successful merges: - #139042 (Do not remove trivial `SwitchInt` in analysis MIR) - #139533 (add next_index to Enumerate) - #139843 (Setup editor file associations for non-rs extensions) - #140000 (skip llvm-config in autodiff check builds, when its unavailable) - #140008 (Improve `clean_maybe_renamed_item` function code a bit) - #140024 (Remove early exits from JumpThreading.) - #140039 (Add option for stable backport poll) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-19Rollup merge of #140039 - apiraino:add-option-for-stable-backport-poll, ↵Chris Denton-0/+1
r=aDotInTheVoid Add option for stable backport poll When creating polls on Zulip about stable backport ("Do we approve the backport of `#12345`"?), stable backports should have the option of "approving, but only is a dot release is planned" (this is a hint to t-release about how the team think important - or not - is backporting some patch). Discussed on [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/stable-nominated.3A.20.23139328/near/510037866)[#t-rustdoc > stable-nominated: #139328 @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/stable-nominated.3A.20.23139328/near/510037866) r? `@aDotInTheVoid` (feel free to adjust the wording!)
2025-04-19Rollup merge of #140024 - cjgillot:continue-jumping, r=compiler-errorsChris Denton-71/+64
Remove early exits from JumpThreading. This removes early exits from https://github.com/rust-lang/rust/pull/131203 as I asked during review. The correctness of the backtracking is `mutated_statement` clearing all relevant conditions. If `process_statement` fails to insert a new condition, for instance by const-eval failure, `mutated_statement` still removes the obsolete conditions from the state. r? `@compiler-errors`
2025-04-19Rollup merge of #140008 - GuillaumeGomez:cleanup-clean_maybe_renamed_item, ↵Chris Denton-14/+33
r=nnethercote Improve `clean_maybe_renamed_item` function code a bit Follow-up of #139846. This is what I tried to say in there: the `name` variable can be unwrapped in most cases so better do it directly once and for all if possible and move the cases where it's not possible above. r? `@nnethercote`
2025-04-19Rollup merge of #140000 - EnzymeAD:autodiff-check-builds, r=onur-ozkanChris Denton-2/+1
skip llvm-config in autodiff check builds, when its unavailable As you suggested, this indeed fixes `./x.py check` builds when autodiff is enabled. r? ```@onur-ozkan``` closes #139936 Tracking: - https://github.com/rust-lang/rust/issues/124509
2025-04-19Rollup merge of #139843 - thaliaarchi:editor-file-associations, ↵Chris Denton-11/+23
r=Mark-Simulacrum Setup editor file associations for non-rs extensions .gitattributes lists `*.fixed`, `*.pp`, and `*.mir` as file extensions which should be treated as Rust source code. Do the same for VS Code and Zed. This only does syntax highlighting, which is appropriate, as MIR isn't really Rust code. At the same time, consistently order `rust-analyzer.linkedProjects` between editors. For some reason, Eglot didn't include `library/Cargo.toml`. I have tested this with VS Code and Zed. I have not implemented it for Emacs/Eglot or Helix.
2025-04-19Rollup merge of #139533 - jogru0:130711, r=Mark-SimulacrumChris Denton-0/+44
add next_index to Enumerate Proposal: https://github.com/rust-lang/libs-team/issues/435 Tracking Issue: #130711 This basically just reopens #130682 but squashed and with the new function and the feature gate renamed to `next_index.` There are two questions I have already: - Shouldn't we add test coverage for that? I'm happy to provide some, but I might need a pointer to where these test would be. - Maybe I could actually also add a doctest? - For now, I just renamed the feature name in the unstable attribute to `next_index`, as well, so it matches the new name of the function. Is that okay? And can I just do that and use any string, or is there a sealed list of features defined somewhere where I also need to change the name?
2025-04-19Rollup merge of #139042 - compiler-errors:do-not-optimize-switchint, r=saethlinChris Denton-51/+197
Do not remove trivial `SwitchInt` in analysis MIR This PR ensures that we don't prematurely remove trivial `SwitchInt` terminators which affects both the borrow-checking and runtime semantics (i.e. UB) of the code. Previously the `SimplifyCfg` optimization was removing `SwitchInt` terminators when they was "trivial", i.e. when all arms branched to the same basic block, even if that `SwitchInt` terminator had the side-effect of reading an operand which (for example) may not be initialized or may point to an invalid place in memory. This behavior is unlike all other optimizations, which are only applied after "analysis" (i.e. borrow-checking) is finished, and which Miri disables to make sure the compiler doesn't silently remove UB. Fixing this code "breaks" (i.e. unmasks) code that used to borrow-check but no longer does, like: ```rust fn foo() { let x; let (0 | _) = x; } ``` This match expression should perform a read because `_` does not shadow the `0` literal pattern, and the compiler should have to read the match scrutinee to compare it to 0. I've checked that this behavior does not actually manifest in practice via a crater run which came back clean: https://github.com/rust-lang/rust/pull/139042#issuecomment-2767436367 As a side-note, it may be tempting to suggest that this is actually a good thing or that we should preserve this behavior. If we wanted to make this work (i.e. trivially optimize out reads from matches that are redundant like `0 | _`), then we should be enabling this behavior *after* fixing this. However, I think it's kinda unprincipled, and for example other variations of the code don't even work today, e.g.: ```rust fn foo() { let x; let (0.. | _) = x; } ```
2025-04-19Switch exploit mitigations to mdbook footnotesEric Huss-43/+22
This updates the exploit mitigations chapter in the rustc book to use the footnote feature of mdbook instead of manually implementing footnotes with HTML.
2025-04-19Add option for stable backport pollapiraino-0/+1
skip-checks: true
2025-04-19Auto merge of #140040 - ChrisDenton:rollup-56bzfuq, r=ChrisDentonbors-69/+187
Rollup of 8 pull requests Successful merges: - #137454 (not lint break with label and unsafe block) - #139297 (Deduplicate & clean up Nix shell) - #139535 (Implement `Default` for raw pointers) - #139919 (Make rustdoc JSON Span column 1-based, just like line numbers) - #139922 (fix incorrect type in cstr `to_string_lossy()` docs) - #140007 (Disable has_thread_local on i686-win7-windows-msvc) - #140016 (std: Use fstatat() on illumos) - #140025 (Re-remove `AdtFlags::IS_ANONYMOUS`) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-19Rollup merge of #139995 - spencer3035:clean-ui-tests-4-of-n, r=jieyouxuChris Denton-182/+202
Clean UI tests 4 of n Cleaned up some tests that have `issue` in the title. I kept the commits to be one per "`issue`" cleanup/rename to make it easier to check. I can rebase to one commit once the changes are approved. Related Issues: #73494 #133895 r? jieyouxu
2025-04-19Rollup merge of #139978 - Kobzol:ci-test-summary, r=jieyouxuChris Denton-21/+511
Add citool command for generating a test dashboard This PR implements an initial version of a test suite dashboard, which shows which tests were executed on CI and which tests were ignored. This was discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202025-04-11.20Dealing.20with.20disabled.20tests/with/512799036). The dashboard is still quite bare-bones, but I think that it could already be useful. The next step is to create a job index, similarly to the post-merge report, and link from the individual tests to the job that executed them. You can try it locally like this: ```bash $ cargo run --manifest-path src/ci/citool/Cargo.toml --release \ -- test-dashboard 38c560ae681d5c0d3fd615eaedc537a282fb1086 --output-dir dashboard ``` and then open `dashboard/index.html` in a web browser. CC ````@wesleywiser```` r? ````@jieyouxu````
2025-04-19Rollup merge of #139868 - thaliaarchi:move-env-consts-pal, r=joboetChris Denton-203/+206
Move `pal::env` to `std::sys::env_consts` Combine the `std::env::consts` platform implementations as a single file. Use the Unix file as the base, since it has 28 entries, and fold the 8 singleton platforms into it. The Unix file was roughly grouped into Linux, Apple, BSD, and everything else, roughly in alphabetical order. Alphabetically order them to make it easier to maintain and discard the Unix-specific groups to generalize it to all platforms. I'd prefer to have no fallback implementation, as I consider it a bug; however TEEOS, Trusty, and Xous have no definitions here. Since they otherwise have `pal` abstractions, that indicates that there are several platforms without `pal` abstractions which are also missing here. To support unsupported, create a little macro to handle the fallback case and not introduce ordering between the `cfg`s like `cfg_if!`. I've named the module `std::sys::env_consts`, because they are used in `std::env::consts` and I intend to use the name `std::sys::env` for the combination of `Args` and `Vars`. cc `@joboet` `@ChrisDenton` Tracked in #117276.
2025-04-19Rollup merge of #139834 - ChrisDenton:spf, r=WaffleLapkinChris Denton-6/+76
Don't canonicalize crate paths When printing paths in diagnostic we should favour printing the paths that were passed in rather than resolving all symlinks. This PR changes the form of the crate path but it should only really affect diagnostics as filesystem functions won't care which path is used. The uncanonicalized path was already used as a fallback for when canonicalization failed. This is a partial alternative to #139823.
2025-04-19Rollup merge of #139762 - compiler-errors:non-env, r=lcnrChris Denton-56/+107
Don't assemble non-env/bound candidates if projection is rigid Putting this up for an initial review, it's still missing comments, clean-up, and possibly a tweak to deal with ambiguities in the `BestObligation` folder. This PR fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/173. Specifically, we're creating an unnecessary query cycle in normalization by assembling an *impl candidate* even if we know later on during `merge_candidates` that we'll be filtering out that impl candidate. This PR adjusts the `merge_candidates` to assemble *only* env/bound candidates if we have `TraitGoalProvenVia::ParamEnv | TraitGoalProvenVia::AliasBound`. I'll leave some thoughts/comments in the code. r? lcnr
2025-04-19Rollup merge of #139753 - folkertdev:naked-function-unsafe-attribute, ↵Chris Denton-403/+375
r=tgross35,traviscross Make `#[naked]` an unsafe attribute tracking issue: https://github.com/rust-lang/rust/issues/138997 Per https://github.com/rust-lang/rust/pull/134213#issuecomment-2755984503, the `#[naked]` attribute is now an unsafe attribute (in any edition). This can only be merged when the above PRs are merged, I'd just like to see if there are any CI surprises here, and maybe there is early review feedback too. r? ``@traviscross``
2025-04-19Rollup merge of #139091 - mejrs:format, r=compiler-errorsChris Denton-685/+962
Rewrite on_unimplemented format string parser. This PR rewrites the format string parser for `rustc_on_unimplemented` and `diagnostic::on_unimplemented`. I plan on moving this code (and more) into the new attribute parsing system soon and wanted to PR it separately. This PR introduces some minor differences though: - `rustc_on_unimplemented` on trait *implementations* is no longer checked/used - this is actually never used (outside of some tests) so I plan on removing it in the future. - for `rustc_on_unimplemented`, it introduces the `{This}` argument in favor of `{ThisTraitname}` (to be removed later). It'll be easier to parse. - for `rustc_on_unimplemented`, `Self` can now consistently be used as a filter, rather than just `_Self`. It used to not match correctly on for example `Self = "[{integer}]"` - Some error messages now have better spans. Fixes https://github.com/rust-lang/rust/issues/130627
2025-04-19Rollup merge of #138934 - onur-ozkan:extended-config-profiles, r=KobzolChris Denton-20/+374
support config extensions _Copied from the `rustc-dev-guide` addition:_ >When working on different tasks, you might need to switch between different bootstrap >configurations. >Sometimes you may want to keep an old configuration for future use. But saving raw config >values in >random files and manually copying and pasting them can quickly become messy, especially if >you have a >long history of different configurations. > >To simplify managing multiple configurations, you can create config extensions. > >For example, you can create a simple config file named `cross.toml`: > >```toml >[build] >build = "x86_64-unknown-linux-gnu" >host = ["i686-unknown-linux-gnu"] >target = ["i686-unknown-linux-gnu"] > > >[llvm] >download-ci-llvm = false > >[target.x86_64-unknown-linux-gnu] >llvm-config = "/path/to/llvm-19/bin/llvm-config" >``` > >Then, include this in your `bootstrap.toml`: > >```toml >include = ["cross.toml"] >``` > >You can also include extensions within extensions recursively. > >**Note:** In the `include` field, the overriding logic follows a right-to-left order. For example, in `include = ["a.toml", "b.toml"]`, extension `b.toml` overrides `a.toml`. Also, parent extensions always overrides the inner ones. try-job: x86_64-mingw-2
2025-04-19Merge pull request #2346 from folkertdev/bootstrap-in-dependencies许杰友 Jieyou Xu (Joe)-0/+54
2025-04-19document `#[cfg(bootstrap)]` in dependenciesFolkert de Vries-0/+54
2025-04-19Merge pull request #2347 from rust-lang/rustc-pullTshepang Mbambo-17051/+28443
Rustc pull update
2025-04-19fix broken linkTshepang Mbambo-1/+1
2025-04-19Rollup merge of #140025 - Sky9x:re-remove-adtflags-anon, r=compiler-errorsChris Denton-2/+0
Re-remove `AdtFlags::IS_ANONYMOUS` Removed in #138296. I accidentally re-added it in #137043 while resolving merge conflicts. This PR re-removes it. r? ``@compiler-errors`` (sorry)
2025-04-19Rollup merge of #140016 - pfmooney:illumos-fstatat, r=jhprattChris Denton-3/+6
std: Use fstatat() on illumos
2025-04-19Rollup merge of #140007 - roblabla:fix-win7, r=ChrisDentonChris Denton-0/+6
Disable has_thread_local on i686-win7-windows-msvc On Windows 7 32-bit, the alignment characteristic of the TLS Directory don't appear to be respected by the PE Loader, leading to crashes. As a result, let's disable has_thread_local to make sure TLS goes through the emulation layer. Fixes #138903
2025-04-19Rollup merge of #139922 - jnqnfe:cstr_doc_fix, r=jhprattChris Denton-1/+1
fix incorrect type in cstr `to_string_lossy()` docs Restoring what it said prior to commit 67065fe in which it was changed incorrectly with no supporting explanation. Closes #139835.
2025-04-19Rollup merge of #139919 - GuillaumeGomez:rustdoc-json-1-indexed, r=aDotInTheVoidChris Denton-7/+11
Make rustdoc JSON Span column 1-based, just like line numbers Fixes https://github.com/rust-lang/rust/issues/139906. This PR does two things: 1. It makes column 1-indexed as well, just like lines. 2. It updates documentation about them to mention that they are 1-indexed. I think it's better for coherency to have them both 1-indexed instead of the weird mix we used to have. Docs for `line` and `col` fields can be found [here](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/struct.Loc.html#structfield.line). And finally: it adds a regression test to ensure they are indeed 1-indexed. r? `@aDotInTheVoid`
2025-04-19Rollup merge of #139535 - ChrisDenton:default-ptr, r=tgross35Chris Denton-0/+33
Implement `Default` for raw pointers ACP: https://github.com/rust-lang/libs-team/issues/571 This is instantly stable so we will need an FCP here. Closes https://github.com/rust-lang/rfcs/issues/2464