Commit graph

298901 commits

Author SHA1 Message Date
Nia Espera
6a0976a521
cfg if 2025-06-20 22:14:34 +02:00
Nia Espera
d20f3a83c2
fix dumb mistake 2025-06-20 22:14:34 +02:00
Nia Espera
fdc2d52bc8
supervisor bits of ffi ptracing 2025-06-20 22:14:34 +02:00
bors
5526a2f47c Auto merge of #142795 - Kobzol:rollup-vvnnjno, r=Kobzol
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#142629 (Add config builder for bootstrap tests)
 - rust-lang/rust#142715 (correct template for `#[align]` attribute)
 - rust-lang/rust#142720 (De-dup common code from `ExternalCrate` methods)
 - rust-lang/rust#142736 (add issue template for rustdoc)
 - rust-lang/rust#142743 (rustc-dev-guide subtree update)
 - rust-lang/rust#142744 (Add a mailmap entry for y21)
 - rust-lang/rust#142758 (Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed)
 - rust-lang/rust#142764 (Convert `ilog(10)` to `ilog10()`)
 - rust-lang/rust#142767 (Some symbol and PathRoot cleanups)
 - rust-lang/rust#142769 (remove equivalent new method on context)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-20 20:01:43 +00:00
Pavel Grigorenko
045faa8c5c Port #[may_dangle] to the new attribute system 2025-06-20 22:39:14 +03:00
Esteban Küber
a56bf51d82 Make some use _ tests multi-edition 2025-06-20 19:21:44 +00:00
Michael Goulet
48060c97c8 Use gen blocks in the compiler instead of from_coroutine 2025-06-20 18:57:52 +00:00
Michael Goulet
582c2df9dd Collapse Analysis|Borrowck|PostBorrowckAnalysis when there are no opaques 2025-06-20 18:57:00 +00:00
Tshepang Mbambo
5babf24657 integer docs: remove extraneous text
"Basic usage" implies there is an example that shows advanced usage,
but these APIs are extra simple.
2025-06-20 20:38:29 +02:00
antoyo
962a08ff4a
Merge pull request #716 from FractalFir/abi-cafe
Fixed some clippy warnings.
2025-06-20 14:37:22 -04:00
Jakub Beránek
e7cc4ec8f7
Rollup merge of #142769 - jdonszelmann:remove-useless-new-method, r=tgross35
remove equivalent new method on context

Noticed the two had converged so much they literally became equivalent. So one could go hehe
2025-06-20 20:03:25 +02:00
Jakub Beránek
f337ae60cd Rollup merge of #142767 - nnethercote:symbol-cleanups, r=petrochenkov
Some symbol and PathRoot cleanups

I'm looking into unifying how we join and print paths. Here are some preliminary cleanups.

r? ``@petrochenkov``
2025-06-20 20:03:24 +02:00
Jakub Beránek
31663db896
Rollup merge of #142767 - nnethercote:symbol-cleanups, r=petrochenkov
Some symbol and PathRoot cleanups

I'm looking into unifying how we join and print paths. Here are some preliminary cleanups.

r? ``@petrochenkov``
2025-06-20 20:03:24 +02:00
Jakub Beránek
74cea635e1
Rollup merge of #142764 - ChaiTRex:ilog_10_to_ilog10, r=workingjubilee
Convert `ilog(10)` to `ilog10()`

Except in tests, convert `integer.ilog(10)` to `integer.ilog10()` for better speed and to provide better examples of code that efficiently counts decimal digits. I couldn't find any instances of `integer.ilog(2)`.
2025-06-20 20:03:24 +02:00
Jakub Beránek
64a7fcf26e
Rollup merge of #142758 - jieyouxu:rustdoc-json-types, r=Kobzol
Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed

I think `rustdoc-json-types` was more recently split out, so this download-rustc logic became outdated as it wasn't tracked. This PR adds `src/rustdoc-json-types` to be tracked for difference versus upstream, so that we properly rebuild rustdoc if it has changes versus upstream.

Fixes rust-lang/rust#142738.

### Local testing

This is not so easy to test locally because it requires download-rustc. To test this, you need to:

1. Disable `download-rustc` inhibition from bootstrap changes versus upstream, by including `:!src/bootstrap` in 255aa22082/src/bootstrap/src/core/config/config.rs (L67-L74).
2. Then, use a config like `profile = "tools"` which by default uses `download-rustc = "if-unchanged"`.
3. Run `./x test tests/rustdoc-json` one time, to "prime" initial build caches.
4. Change the `FORMAT_VERSION` in `src/rustdoc-json-types`, i.e.
	```diff
	diff --git a/src/rustdoc-json-types/lib.rs b/src/rustdoc-json-types/lib.rs
	index 1f93895ae07..72a3720c7b4 100644
	--- a/src/rustdoc-json-types/lib.rs
	+++ b/src/rustdoc-json-types/lib.rs
	``@@`` -38,7 +38,7 ``@@``
	 // are deliberately not in a doc comment, because they need not be in public docs.)
	 //
	 // Latest feature: Pretty printing of inline attributes changed
	-pub const FORMAT_VERSION: u32 = 48;
	+pub const FORMAT_VERSION: u32 = 666;
	```
5. Observe that without this patch, `rustdoc-json` tests fail because `FORMAT_VERSION` mismatch. Observe that with this patch, rustdoc gets properly rebuilt and `rustdoc-json` tests pass.

cc ``@aDotInTheVoid``

r? Kobzol
2025-06-20 20:03:23 +02:00
Jakub Beránek
f2c4854377
Rollup merge of #142744 - tgross35:y21-mailmap, r=y21
Add a mailmap entry for y21
2025-06-20 20:03:23 +02:00
Jakub Beránek
829aaf8d1d
Rollup merge of #142743 - tshepang:rdg-push, r=jieyouxu
rustc-dev-guide subtree update

r? ``@ghost``
2025-06-20 20:03:22 +02:00
Jakub Beránek
abe7991bb4
Rollup merge of #142736 - lolbinarycat:rustdoc-issue-template, r=GuillaumeGomez,fmease
add issue template for rustdoc

~~This also expands the scope of the "diagnostic
issue" template to include rustdoc lints,
meaning diagnostic issues will need triaging again. I think this is preferable to the alternative of
cramming even more cases under a single issue template.~~

r? t-rustdoc
2025-06-20 20:03:22 +02:00
Jakub Beránek
6c58f693cc
Rollup merge of #142720 - yotamofek:pr/rustdoc/ext-crate-cleanup, r=GuillaumeGomez
De-dup common code from `ExternalCrate` methods

Also, return an `impl Iterator` instead of collecting into a `Vec`. Not sure if that'll have a measurable perf impact, but I think this PR still cleans up the two methods it touches quite nicely.

(I'm having trouble finding a name for the common method I extracted, currently called `foobar`, would love suggestions!)
2025-06-20 20:03:21 +02:00
Jakub Beránek
065a5fb225
Rollup merge of #142715 - folkertdev:fn-align-corrections, r=jdonszelmann
correct template for `#[align]` attribute

Tracking issue: https://github.com/rust-lang/rust/issues/82232
related: https://github.com/rust-lang/rust/pull/142507

I didn't fully understand what `template!` did, clearly. An empty `#[align]` attribute was still rejected later, but without this change it does get suggested in certain cases.

I've also updated some outdated references to `#[repr(align)]` on functions.

r? ``@jdonszelmann``
2025-06-20 20:03:21 +02:00
Jakub Beránek
7f9c3a3dc6
Rollup merge of #142629 - Kobzol:bootstrap-tests-builder, r=jieyouxu
Add config builder for bootstrap tests

I started writing a bunch of snapshot tests for build/check steps, and quickly realized that the current interface for defining them won't be enough, so I created a simple builder, which can scale to pretty much any kind of configuration in the future.
2025-06-20 20:03:20 +02:00
Zachary S
a7ff98e143 rust-analyzer: Rename LayoutS to LayoutData in comments 2025-06-20 12:50:55 -05:00
Zachary S
78c2ef2d48 compiler: Rename LayoutS to LayoutData in comments 2025-06-20 12:50:12 -05:00
Cameron Steffen
6809ec1648 Factor out seen_comma variable 2025-06-20 12:45:26 -05:00
Trevor Gross
61f491872a
Rollup merge of #142755 - aDotInTheVoid:rdj-shattrs, r=GuillaumeGomez
rustdoc: Remove `FormatRenderer::cache`

We only called it it one place, which isn't generic and can be replaced with a field access.
2025-06-20 13:36:02 -04:00
Trevor Gross
e7a2c40919
Rollup merge of #142713 - tgross35:mbe-transcribe-refactor, r=petrochenkov
mbe: Refactor transcription

Introduce `MacroTcbCtx` that holds everything relevant to transcription. This allows for the following changes:

* Split `transcribe_sequence` and `transcribe_metavar` out of the heavily nested `transcribe`
* Split `metavar_expr_concat` out of `transcribe_metavar_expr`

This is a nonfunctional change.
2025-06-20 13:36:02 -04:00
Trevor Gross
5f759a9c1f Rollup merge of #142650 - camsteffen:refactor-translator, r=petrochenkov
Refactor Translator

My main motivation was to simplify the usage of `SilentEmitter` for users like rustfmt. A few refactoring opportunities arose along the way.

* Replace `Translate` trait with `Translator` struct
* Replace `Emitter: Translate` with `Emitter::translator`
* Split `SilentEmitter` into `FatalOnlyEmitter` and `SilentEmitter`
2025-06-20 13:36:01 -04:00
Trevor Gross
38600a6640
Rollup merge of #142650 - camsteffen:refactor-translator, r=petrochenkov
Refactor Translator

My main motivation was to simplify the usage of `SilentEmitter` for users like rustfmt. A few refactoring opportunities arose along the way.

* Replace `Translate` trait with `Translator` struct
* Replace `Emitter: Translate` with `Emitter::translator`
* Split `SilentEmitter` into `FatalOnlyEmitter` and `SilentEmitter`
2025-06-20 13:36:01 -04:00
Trevor Gross
5d6ecf584e
Rollup merge of #142575 - oli-obk:sneaky-self-init, r=RalfJung
Ensure copy* intrinsics also perform the static self-init checks

fixes rust-lang/rust#142532

r? `@RalfJung`
2025-06-20 13:36:01 -04:00
Trevor Gross
bad4bf54f0
Rollup merge of #142497 - GuillaumeGomez:fix-random-search-failure, r=lolbinarycat
Fix random failure when JS code is executed when the whole file was not read yet

Very randomly (and rarely), when I arrived on a page with `?search=something` in the URL, I got this error:

![Screenshot From 2025-06-14 11-27-46](https://github.com/user-attachments/assets/4b61b067-4e80-49c1-9a45-cff1509bf86a)

Moving the `initSearch` function at the bottom to ensure everything has been loaded fixes the issue.

PS: Sorry for the noise. Pushed to the wrong branch and https://github.com/rust-lang/rust/pull/142496 closed. ><
2025-06-20 13:36:00 -04:00
Trevor Gross
1e2ac532e4
Rollup merge of #142495 - jdonszelmann:better-repr-template, r=oli-obk
Better template for `#[repr]` attributes
2025-06-20 13:36:00 -04:00
Trevor Gross
d2a00eb65f
Rollup merge of #142494 - jdonszelmann:missing-attr-parsing-docs, r=oli-obk
Fix missing docs in `rustc_attr_parsing`
2025-06-20 13:35:59 -04:00
Trevor Gross
f0374dced5
Rollup merge of #142491 - jdonszelmann:cold, r=oli-obk
Rework #[cold] attribute parser

r? `@oli-obk`
2025-06-20 13:35:59 -04:00
Trevor Gross
851fbcb092
Rollup merge of #142331 - deven:trim_prefix_suffix, r=Amanieu
Add `trim_prefix` and `trim_suffix` methods for both `slice` and `str` types.

Implements `trim_prefix` and `trim_suffix` methods for both `slice` and `str` types, which remove at most one occurrence of a prefix/suffix while always returning a string/slice (rather than Option), enabling easy method chaining.

## Tracking issue
rust-lang/rust#142312

## API
```rust
impl str {
    pub fn trim_prefix<P: Pattern>(&self, prefix: P) -> &str;
    pub fn trim_suffix<P: Pattern>(&self, suffix: P) -> &str
    where
        for<'a> P::Searcher<'a>: ReverseSearcher<'a>;
}

impl<T> [T] {
    pub fn trim_prefix<P: SlicePattern<Item = T> + ?Sized>(&self, prefix: &P) -> &[T]
    where
        T: PartialEq;
    pub fn trim_suffix<P: SlicePattern<Item = T> + ?Sized>(&self, suffix: &P) -> &[T]
    where
        T: PartialEq;
}
```

## Examples
```rust
// Method chaining
assert_eq!(" <https://example.com/> ".trim().trim_prefix('<').trim_suffix('>').trim(), "https://example.com/");

// Slices
let v = &[10, 40, 30];
assert_eq!(v.trim_prefix(&[10]), &[40, 30][..]);
```

## ACP
Originally proposed in rust-lang/libs-team#597
2025-06-20 13:35:58 -04:00
michal kostrubiec
b2b117ee28 Fixed some clippy warnings. 2025-06-20 19:34:48 +02:00
Samuel Tardieu
890ade5ae8 Bless UI tests: do not print alternate implementors of Step
Alternative candidates for a trait implementation are not printed when
the trait has a diagnostic name, to avoid printing alternatives for
common stdlib traits such as `Copy` or `Debug`. However, this affects
all traits for which a diagnostic item is added.

Here, the list of alternatives candidates for `Step` does not seem
useful, and `Step` is unstable, so this will not be missed.
2025-06-20 19:31:53 +02:00
Folkert de Vries
a32d085680
error on calls to ABIs that cannot be called 2025-06-20 19:09:02 +02:00
Josh Stone
8c9cafbf5d Bump the version number to 1.90.0 2025-06-20 10:08:52 -07:00
Urgau
09d0a739f7 Switch non_upper_case_globals suggestions to being machine-applicable 2025-06-20 18:59:34 +02:00
binarycat
bedc0eaa9d bootstrap.example.toml: add note explaining toml 2025-06-20 11:35:53 -05:00
binarycat
01fbeb8065 update configure.py to handle new bootstrap.example.toml 2025-06-20 11:35:39 -05:00
binarycat
8d18f3d609 add doc(alias("AsciiChar")) to core::ascii::Char
Added it to the reexported, which is intended
rustdoc behavior, but is apparently untested,
so I also added a test for it.
2025-06-20 11:11:51 -05:00
Samuel Tardieu
65402ab41a clippy: replace path uses by diagnostic items 2025-06-20 17:53:09 +02:00
Samuel Tardieu
07338a40de clippy: replace path uses by diagnostic items 2025-06-20 17:53:09 +02:00
Samuel Tardieu
6a9f223f00 Add diagnostic items for Clippy 2025-06-20 17:53:09 +02:00
Guillaume Gomez
0fc950735a Improve error message for rustdoc_json_types tidy check
Only emit git errors if we are in CI environment
2025-06-20 16:22:05 +02:00
Ed Page
367c8feb48 fix(linkcheck): Build using the lockfile
This is to unblock cargo from servo/html5ever#623
2025-06-20 09:12:30 -05:00
Guillaume Gomez
6367694904 Pass src_path to rustdoc_json tidy check 2025-06-20 15:49:47 +02:00
Guillaume Gomez
bbe8a2ad19 Generate base commit in rustdoc_json tidy checks 2025-06-20 15:49:47 +02:00
Jana Dönszelmann
b9107a83a1
expected word diagnostic test 2025-06-20 15:06:29 +02:00