Commit graph

11005 commits

Author SHA1 Message Date
Santiago Pastorino
4501ae89f1
Add and use generics.is_empty() and generics.is_own_empty, rather than using generics' attributes 2024-05-19 11:10:56 -03:00
bors
84b9b6d16c Auto merge of #125145 - Kobzol:ci-toolstate, r=Mark-Simulacrum
CI: fix toolstate publishing

Toolstate publishing after something broke was not working (discovered [here](https://github.com/rust-lang/rust/pull/124050#issuecomment-2111292015)). The toolstate env. vars should only be needed for the publishing step, so I moved them there.

The toolstate script is also being checked in `mingw-check` on PR and auto CI, but it doesn't really seem to do anything, and it shouldn't require the token.
2024-05-19 10:49:24 +00:00
bors
b1ec1bd65f Auto merge of #125257 - jieyouxu:rollup-11evnm9, r=jieyouxu
Rollup of 3 pull requests

Successful merges:

 - #125214 (Only make GAT ambiguous in `match_projection_projections` considering shallow resolvability)
 - #125236 (Add tests for `-Zunpretty=expanded` ported from stringify's tests)
 - #125251 (Clarify how String::leak and into_boxed_str differ )

r? `@ghost`
`@rustbot` modify labels: rollup
2024-05-18 21:45:06 +00:00
许杰友 Jieyou Xu (Joe)
ffc04dfcc6
Rollup merge of #125236 - dtolnay:expandtest, r=nnethercote
Add tests for `-Zunpretty=expanded` ported from stringify's tests

This PR adds a new set of tests for the AST pretty-printer.

Previously, pretty-printer edge cases were tested by way of `stringify!` in [tests/ui/macros/stringify.rs](https://github.com/rust-lang/rust/blob/1.78.0/tests/ui/macros/stringify.rs), such as the tests added by 419b26931b and 527e2eac17.

Those tests will no longer provide effective coverage of the AST pretty-printer after #124141. `Nonterminal` and `TokenKind::Interpolated` are being removed, and a consequence is that `stringify!` will perform token stream pretty printing, instead of AST pretty printing, in all of the `stringify!` cases including $:expr and all other interpolations.

This PR adds 2 new ui tests with `compile-flags: -Zunpretty=expanded`:

- **tests/ui/unpretty/expanded-exhaustive.rs** — this test aims for exhaustive coverage of all the variants of `ExprKind`, `ItemKind`, `PatKind`, `StmtKind`, `TyKind`, and `VisibilityKind`. Some parts could use being fleshed out further, but the current state is roughly on par with what exists in the old stringify-based tests.

- **tests/ui/unpretty/expanded-interpolation.rs** — this test covers tricky macro metavariable edge cases that require the AST pretty printer to synthesize parentheses in order for the printed code to be valid Rust syntax.

r? `@nnethercote`
2024-05-18 20:38:05 +01:00
bors
eb1a5c9bb3 Auto merge of #125077 - spastorino:add-new-fnsafety-enum2, r=jackh726
Rename Unsafe to Safety

Alternative to #124455, which is to just have one Safety enum to use everywhere, this opens the posibility of adding `ast::Safety::Safe` that's useful for unsafe extern blocks.

This leaves us today with:

```rust
enum ast::Safety {
    Unsafe(Span),
    Default,
    // Safe (going to be added for unsafe extern blocks)
}

enum hir::Safety {
    Unsafe,
    Safe,
}
```

We would convert from `ast::Safety::Default` into the right Safety level according the context.
2024-05-18 19:35:24 +00:00
David Tolnay
3e05be5466
Add tests for -Zunpretty=expanded ported from stringify's tests 2024-05-18 10:36:02 -07:00
Guillaume Gomez
14ae96470f Migrate run-make/rustdoc-scrape-examples-invalid-expr to rmake.rs 2024-05-18 15:35:00 +02:00
Weihang Lo
ad115a5397
Update cargo 2024-05-17 23:56:00 -04:00
许杰友 Jieyou Xu (Joe)
650bbb5a77
Rollup merge of #125221 - Oneirical:fourth, r=jieyouxu
Migrate `run-make/issue-28766` to `rmake`

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
2024-05-18 00:49:18 +01:00
许杰友 Jieyou Xu (Joe)
d7498c2dbf
Rollup merge of #125215 - Oneirical:easy-test-the-second, r=jieyouxu
Migrate `run-make/issue64319` to `rmake` and rename

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

~~I noticed that the Makefile was not listed in `allowed-run-makefiles` in Tidy. Does this mean the test was being ignored?~~ EDIT: No, it was there, just not in its expected alphabetical order.

EDIT2: Perhaps it could be interesting to clean this test visually by looping over the `rustc` calls, like in #125227.
2024-05-18 00:49:17 +01:00
许杰友 Jieyou Xu (Joe)
cb90c0a1d3
Rollup merge of #125213 - Oneirical:easy-test, r=jieyouxu
Migrate `run-make/static-unwinding` to `rmake`

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

An easy one after the last one, though the explanatory comment could use some clarification.
2024-05-18 00:49:17 +01:00
Santiago Pastorino
6b46a919e1
Rename Unsafe to Safety 2024-05-17 18:33:37 -03:00
Oneirical
e9edced096 rewrite and rename issue-28766 2024-05-17 14:44:21 -04:00
Julien
184be49a1e
Update allowed_run_make_makefiles.txt 2024-05-17 12:07:55 -04:00
Oneirical
14a031fdf6 rewrite issue64319 and rename 2024-05-17 11:49:20 -04:00
Oneirical
760b505c9a Rewrite static-unwinding as rmake.rs 2024-05-17 11:06:21 -04:00
Guillaume Gomez
e509c24fbf Migrate run-make/rustdoc-scrape-examples-remap to rmake.rs 2024-05-17 14:04:22 +02:00
bors
a5c37eea5a Auto merge of #125178 - GuillaumeGomez:migrate-rustdoc-with-out-dir, r=jieyouxu
Migrate `run-make/rustdoc-with-out-dir-option` to new `rmake.rs`

Part of https://github.com/rust-lang/rust/issues/121876.

r? `@jieyouxu`
2024-05-17 08:51:06 +00:00
Guillaume Gomez
61d4f5c53b Fix htmldocck function 2024-05-17 00:50:11 +02:00
Guillaume Gomez
8124a5e74d Migrate run-make/rustdoc-with-out-dir-option to new rmake.rs 2024-05-17 00:46:21 +02:00
Michael Goulet
7b3d6dad20 Remove trivial Binder::dummy calls 2024-05-16 14:24:23 -04:00
Michael Goulet
6d817365e5 Fix tools 2024-05-16 14:24:23 -04:00
León Orell Valerian Liehr
09156291e5
Rollup merge of #125146 - Oneirical:panic-impl, r=jieyouxu
Migrate `run-make/panic-impl-transitive` to `rmake`

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

The test itself is quite simple, but the "handle panics by entering infinite loop" part is strange.
2024-05-15 22:01:19 +02:00
León Orell Valerian Liehr
80f991e09b
Rollup merge of #125142 - GuillaumeGomez:migrate-rustdoc-themes, r=jieyouxu
Migrate `run-make/rustdoc-themes` to new rmake.rs

Part of https://github.com/rust-lang/rust/issues/121876.

r? `@jieyouxu`
2024-05-15 22:01:19 +02:00
Oneirical
cae17ff42b rewrite panic-impl-transitive 2024-05-15 09:58:47 -04:00
Jakub Beránek
7b6a3d029b
CI: fix toolstate publishing 2024-05-15 15:48:52 +02:00
bors
ade234d574 Auto merge of #125144 - fmease:rollup-4uft293, r=fmease
Rollup of 6 pull requests

Successful merges:

 - #124307 (Optimize character escaping.)
 - #124975 (Use an helper to move the files)
 - #125027 (Migrate `run-make/c-link-to-rust-staticlib` to `rmake`)
 - #125038 (Invert comparison in `uN::checked_sub`)
 - #125104 (Migrate `run-make/no-cdylib-as-rdylib` to `rmake`)
 - #125137 (MIR operators: clarify Shl/Shr handling of negative offsets)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-05-15 12:43:34 +00:00
León Orell Valerian Liehr
2659ff3882
Rollup merge of #125104 - Oneirical:test6, r=jieyouxu
Migrate `run-make/no-cdylib-as-rdylib` to `rmake`

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

> "the test will fail if the cdylib is picked, because it doesn't export any rust symbols"

Is that true? Is there a way to verify?

I suggest maybe extending the test with: (after cleaning the directory)

```rust
    rustc()
        .input("bar.rs")
        .crate_type("cdylib")
        .run();
    rustc()
        .input("foo.rs")
        .prefer_dynamic()
        .run();
    fail();
```

to make sure we're actually testing something here.
2024-05-15 14:21:39 +02:00
León Orell Valerian Liehr
2804d4223b
Rollup merge of #125027 - Oneirical:c-test-with-remove, r=jieyouxu
Migrate `run-make/c-link-to-rust-staticlib` to `rmake`

Part of #121876.

r? `@jieyouxu`
2024-05-15 14:21:38 +02:00
bors
3cb0030fe9 Auto merge of #123413 - petrochenkov:delegmulti2, r=fmease
delegation: Implement list delegation

```rust
reuse prefix::{a, b, c};
```

Using design described in https://github.com/rust-lang/rfcs/pull/3530#issuecomment-2020869823 (the lists are desugared at macro expansion time).
List delegations are expanded eagerly when encountered, similarly to `#[cfg]`s, and not enqueued for later resolution/expansion like regular macros or glob delegation (https://github.com/rust-lang/rust/pull/124135).

Part of https://github.com/rust-lang/rust/issues/118212.
2024-05-15 10:35:31 +00:00
Guillaume Gomez
c765480efe Migrate run-make/rustdoc-themes to new rmake 2024-05-15 12:22:40 +02:00
Guillaume Gomez
c87ae947eb Add new htmldocck function to run-make-support 2024-05-15 11:46:04 +02:00
bors
a71c3ffce9 Auto merge of #125032 - compiler-errors:crash-dump-dir, r=onur-ozkan
Make crashes dump mir to build dir

Set `-Zdump-mir-dir` for `crashes`-style tests.

Alternatively, we just remove `tests/crashes/124436.rs`, since if the only way to get it to repro is via `-Zdump-mir`, then maybe it's not worth it to fix.

Fixes #125029
2024-05-15 08:28:02 +00:00
Vadim Petrochenkov
c30b41012d delegation: Implement list delegation
```rust
reuse prefix::{a, b, c}
```
2024-05-15 02:32:59 +03:00
Oneirical
81f7e54962 Port issue-11908 to rmake 2024-05-14 18:15:37 -04:00
Oneirical
1f61cc3078 port no-cdylib-as-rdylib test 2024-05-14 17:02:20 -04:00
Oneirical
1f5837ae25 rewrite c-link-to-rust-staticlib 2024-05-14 16:37:00 -04:00
Bernardo Meurer Costa
c3c9783de2 feat(tools/opt-dist): allow local builds to specify a rustc-perf checkout 2024-05-14 17:34:33 +00:00
Michael Goulet
844c7e826e
Rollup merge of #125047 - Oneirical:test5, r=jieyouxu
Migrate `run-make/issue-14500` to new `rmake.rs` format

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

Note: I find suspicious that `libbar.a` is hardcoded and is not using the `STATICLIB` call to adapt to Windows platforms. Is this intentional? If not, this will need to be changed.
2024-05-14 09:55:28 -04:00
bors
58426f4a5b Auto merge of #125026 - Oneirical:clink-tests, r=jieyouxu
Migrate `run-make/c-link-to-rust-va-list-fn` to `rmake`

Part of #121876.

r? `@jieyouxu`
2024-05-14 05:35:13 +00:00
Oneirical
45b50d303c lto function, static_library call, rename 2024-05-13 22:56:21 -04:00
bors
34582118af Auto merge of #125076 - compiler-errors:alias-term, r=lcnr
Split out `ty::AliasTerm` from `ty::AliasTy`

Splitting out `AliasTerm` (for use in project and normalizes goals) and `AliasTy` (for use in `ty::Alias`)

r? lcnr
2024-05-13 22:20:43 +00:00
Michael Goulet
fa84018c2e Apply nits 2024-05-13 16:55:58 -04:00
Matthias Krüger
ed2c2c06e6
Rollup merge of #125071 - GuillaumeGomez:migrate-rustdoc-target-spec-json-path, r=jieyouxu
Migrate rustdoc target spec json path

Part of https://github.com/rust-lang/rust/issues/121876.

r? `@jieyouxu`
2024-05-13 20:29:19 +02:00
Michael Goulet
3bcdf3058e split out AliasTy -> AliasTerm 2024-05-13 11:59:42 -04:00
Guillaume Gomez
b515de83af Migrate run-make/rustdoc-target-spec-json-path to rmake 2024-05-13 15:21:13 +02:00
Guillaume Gomez
4057a7b1e3 Add library_search_path to Rustdoc 2024-05-13 15:21:12 +02:00
Guillaume Gomez
eea00ca354 Add target method to Rustdoc type 2024-05-13 15:04:10 +02:00
bors
abb95639ef Auto merge of #125024 - Oneirical:master, r=jieyouxu
Rewrite 3 very similar `run-make` alloc tests to rmake

Part of #121876

#121918 attempted to port these 3 tests 2 months ago. However, since then, the structure of `run-make-support` has changed a bit and new helper functions were added. Since there has been no activity on the PR, they are good low-hanging fruit to knock down, using the new functions of the current library.

There is also the removal of a useless import on a very similar test.
2024-05-13 11:20:00 +00:00
Oneirical
f2de5fb2ae rewrite issue-14500 to rmake 2024-05-12 14:00:09 -04:00