Commit graph

238378 commits

Author SHA1 Message Date
Peter Tripp
fccdde63c9
Maybe not a linter. 2023-11-02 18:21:31 -04:00
bors
a2f5f9691b Auto merge of #117134 - lcnr:dropck_outlives-coroutine, r=compiler-errors
dropck_outlives check whether generator witness needs_drop

see https://rust-lang.zulipchat.com/#narrow/stream/326866-t-types.2Fnominated/topic/.23116242.3A.20Code.20no.20longer.20compiles.20after.20-Zdrop-tracking-mir.20.E2.80.A6/near/398311627 for an explanation.

Fixes #116242 (or well, the repro by `@jamuraa` in https://github.com/rust-lang/rust/issues/116242#issuecomment-1739802047). I did not add a regression test as it depends on other crates. We do have 1 test going from fail to pass, showing the intended behavior.

r? types
2023-11-02 22:03:38 +00:00
Alejandro Martinez Ruiz
274a6f3d0d bootstrap/setup: create hooks directory if non-existing 2023-11-02 22:41:25 +01:00
Michael Goulet
c83f642f12 Pretty print Fn traits in rustc_on_unimplemented 2023-11-02 20:57:05 +00:00
Michael Goulet
dd571e472a Add all RPITITs when augmenting param-env with GAT bounds in check_type_bounds 2023-11-02 20:47:10 +00:00
Michael Goulet
bb74d7e97d Use the normalizing param-env always in check_type_bounds 2023-11-02 20:47:05 +00:00
Nicholas Nethercote
94a36d2ce5 Use FxIndexSet in the symbol interner.
It makes the code a little nicer.

As part of this, the interner's `Default` impl is removed and `prefill`
is used in a test instead.
2023-11-03 07:19:41 +11:00
Guillaume Gomez
30a07094a6 Add comment explaining why the ENABLE_GCC_CODEGEN env variable is needed 2023-11-02 21:03:28 +01:00
Guillaume Gomez
2dbe7d8d5b Fix invalid enabling of gcc backend in run.sh 2023-11-02 21:03:27 +01:00
Guillaume Gomez
a141b6975b Rename SKIP_CODEGEN_TESTS into ENABLE_GCC_CODEGEN 2023-11-02 21:03:27 +01:00
Guillaume Gomez
25a96ca0e5 Don't include GCC backend if SKIP_CODEGEN_TESTS is not enabled 2023-11-02 21:03:27 +01:00
Guillaume Gomez
13f7f052d8 Run codegen tests outside if not llvm-15 2023-11-02 21:03:27 +01:00
Guillaume Gomez
260d91bd41 Add FIXME header for two comments in cg_gcc and cg_clif boostrap types 2023-11-02 21:03:27 +01:00
Guillaume Gomez
43290933a4 Remove libc dependency in cg_gcc alloc_system example 2023-11-02 21:03:27 +01:00
Guillaume Gomez
c5ff230b55 Skip codegen tests in llvm-15 CI check 2023-11-02 21:03:27 +01:00
Guillaume Gomez
a1902a81d9 Force mangling version for rustc_codegen_gcc 2023-11-02 21:03:27 +01:00
Guillaume Gomez
4b290d40a5 Only run cg_gcc tests on linux x86_64 2023-11-02 21:03:27 +01:00
Guillaume Gomez
edfd67b598 Pass --sysroot option 2023-11-02 21:03:27 +01:00
Guillaume Gomez
7f6aa4422c Add comment explaning when to uncomment the prepare command code 2023-11-02 21:03:27 +01:00
Guillaume Gomez
05a84760f6 Fix rustc_codegen_gcc lto issue 2023-11-02 21:03:27 +01:00
Guillaume Gomez
3c58feaa08 Fix config.sh script 2023-11-02 21:03:27 +01:00
Guillaume Gomez
ead5dffeec Fix missing error libgccjit in CI 2023-11-02 21:03:27 +01:00
Guillaume Gomez
ded81de066 Fix compilation errors in rustc_codegen_gcc examples 2023-11-02 21:03:27 +01:00
Guillaume Gomez
42bdc873e5 Disable master feature by default when building rustc_codegen_gcc 2023-11-02 21:03:27 +01:00
Guillaume Gomez
c6ace5c564 Run rustc_codegen_gcc tests in the CI 2023-11-02 21:03:27 +01:00
Peter Tripp
1b7bb9a7bd
VSCode search: 'category:formatters rust' metadata. 2023-11-02 15:54:32 -04:00
bors
e8418e092a Auto merge of #117471 - onur-ozkan:tmp-fix, r=clubby789
bootstrap: do not purge docs on CI environment

This is a temporary fix for #117430, for more information please read https://github.com/rust-lang/rust/issues/117430#issuecomment-1788160523.

Fixes #117430
2023-11-02 19:53:41 +00:00
onur-ozkan
6198e881d3 bootstrap: do not purge docs on CI environment
Temporary fix for https://github.com/rust-lang/rust/issues/117430

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-02 21:36:43 +03:00
Esteban Küber
9e7345be1f Fix incorrect trait bound restriction suggestion
Suggest

```
error[E0308]: mismatched types
  --> $DIR/restrict-assoc-type-of-generic-bound.rs:9:12
   |
LL | pub fn foo<A: MyTrait, B>(a: A) -> B {
   |                        -           - expected `B` because of return type
   |                        |
   |                        expected this type parameter
LL |     return a.bar();
   |            ^^^^^^^ expected type parameter `B`, found associated type
   |
   = note: expected type parameter `B`
             found associated type `<A as MyTrait>::T`
help: consider further restricting this bound
   |
LL | pub fn foo<A: MyTrait<T = B>, B>(a: A) -> B {
   |                      +++++++
```

instead of

```
error[E0308]: mismatched types
  --> $DIR/restrict-assoc-type-of-generic-bound.rs:9:12
   |
LL | pub fn foo<A: MyTrait, B>(a: A) -> B {
   |                        -           - expected `B` because of return type
   |                        |
   |                        expected this type parameter
LL |     return a.bar();
   |            ^^^^^^^ expected type parameter `B`, found associated type
   |
   = note: expected type parameter `B`
             found associated type `<A as MyTrait>::T`
help: consider further restricting this bound
   |
LL | pub fn foo<A: MyTrait + <T = B>, B>(a: A) -> B {
   |                      +++++++++
```

Fix #117501.
2023-11-02 18:04:41 +00:00
bors
b20f40dba9 Auto merge of #117521 - GuillaumeGomez:impl-on-foreign-order, r=notriddle
Fix order of implementations in the "implementations on foreign types" section

Fixes #117391.

We forgot to run the `sort_by_cached_key` on this section. This fixes it.

r? `@notriddle`
2023-11-02 17:54:29 +00:00
Michael Goulet
c5895c4caa oli.pause() 2023-11-02 17:23:15 +00:00
lcnr
dda5e32ab0 review + add tests 2023-11-02 18:16:37 +01:00
Guillaume Gomez
2e4a36bb53 Add GUI test to ensure that implementations on foreign types are in the expected order 2023-11-02 18:02:14 +01:00
Guillaume Gomez
aa9d1d87fa Fix order of implementations in the "implementations on foreign types" section 2023-11-02 18:02:14 +01:00
Philipp Krones
02562bfdf8
Update Cargo.lock 2023-11-02 17:50:52 +01:00
Philipp Krones
257147a779
Merge commit '09ac14c901abc43bd0d617ae4a44e8a4fed98d9c' into clippyup 2023-11-02 17:35:56 +01:00
bors
09ac14c901 Auto merge of #11747 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2023-11-02 16:32:10 +00:00
Philipp Krones
62a82b361c
Format let-chains across the code base
In the updated nightly version, it seems that rustfmt now supports formatting
let-chains. Since we're using them a lot, it's a lot of reformatting.
2023-11-02 17:24:30 +01:00
Philipp Krones
5eee19e1dc
Bump nightly version -> 2023-11-02 2023-11-02 17:24:26 +01:00
Philipp Krones
95dc7be92f
Merge remote-tracking branch 'upstream/master' into rustup 2023-11-02 17:24:19 +01:00
lcnr
a582e9638b only erase param env regions where needed 2023-11-02 17:20:13 +01:00
lcnr
57253552de dropck_outlives check generator witness needs_drop 2023-11-02 17:20:13 +01:00
lcnr
f0df3d2dfb remove outdated comment 2023-11-02 17:20:13 +01:00
Matthias Krüger
666cad9a5f add test for #113375
Fixes #113375
2023-11-02 16:16:56 +01:00
Matthias Krüger
384f7382ba add test for #113381
Fixes #113381

r? fee1-dead
2023-11-02 15:59:54 +01:00
bors
c5afe0a61e Auto merge of #117513 - matthiaskrgr:rollup-jvl6y84, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #117394 (use global cache when computing proof trees)
 - #117495 (Clarify `Unsize` documentation)
 - #117509 (Remove support for alias `-Z symbol-mangling-version`)
 - #117512 (Expand mem::offset_of! docs)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-11-02 14:46:23 +00:00
Matthias Krüger
6268598dfb
Rollup merge of #117512 - joshlf:patch-8, r=dtolnay
Expand mem::offset_of! docs

Makes progress on #106655
2023-11-02 15:31:22 +01:00
Matthias Krüger
67b51879e3
Rollup merge of #117509 - Zalathar:zsymbol, r=petrochenkov
Remove support for alias `-Z symbol-mangling-version`

(This is very similar to the removal of `-Z instrument-coverage` in #117111.)

`-C symbol-mangling-version` was stabilized back in rustc 1.59.0 (2022-02-24) via #90128, with the old unstable flag kept around (with a warning) as an alias to ease migration.
2023-11-02 15:31:21 +01:00
Matthias Krüger
9575625835
Rollup merge of #117495 - compiler-errors:unsize-docs, r=lcnr
Clarify `Unsize` documentation

The documentation erroneously says that:

```rust
/// - Types implementing a trait `Trait` also implement `Unsize<dyn Trait>`.
/// - Structs `Foo<..., T, ...>` implement `Unsize<Foo<..., U, ...>>` if all of these conditions
///   are met:
///   - `T: Unsize<U>`.
///   - Only the last field of `Foo` has a type involving `T`.
///   - `Bar<T>: Unsize<Bar<U>>`, where `Bar<T>` stands for the actual type of that last field.
```

Specifically, `T: Unsize<U>` is not required to hold -- only the final field must implement `FinalField<T>: Unsize<FinalField<U>>`. This can be demonstrated by the test I added.

---

Second commit fleshes out the documentation a lot more.
2023-11-02 15:31:21 +01:00
Matthias Krüger
298edd6d46
Rollup merge of #117394 - lcnr:proof-tree-cache4, r=compiler-errors
use global cache when computing proof trees

we're writing the solver while relying on the existence of the global cache to avoid exponential blowup. By disabling the global cache when building proof trees, it is easy to get hangs, e.g. when computing intercrate ambiguity causes.

Removes the unstable `-Zdump_solver_proof_tree_use_cache` option, as we now always return a full proof tree.

r? `@compiler-errors`
2023-11-02 15:31:20 +01:00