Commit graph

131544 commits

Author SHA1 Message Date
Dylan DPC
e7ed8443ea
Rollup merge of #100168 - WaffleLapkin:improve_diagnostics_for_missing_type_in_a_const_item, r=compiler-errors
Improve diagnostics for `const a: = expr;`

Adds a suggestion to write a type when there is a colon, but the type is not present.
I've also shrunk spans a little, so the suggestions are a little nicer.

Resolves #100146

r? `@compiler-errors`
2022-08-05 21:54:37 +05:30
Dylan DPC
404782dffe
Rollup merge of #100166 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? `@notriddle`
2022-08-05 21:54:36 +05:30
Dylan DPC
97440b5899
Rollup merge of #100157 - rust-lang:notriddle/use-map-instead-of-repeated-push, r=Dylan-DPC
rustdoc: use `collect()` instead of repeatedly pushing
2022-08-05 21:54:34 +05:30
Dylan DPC
721af40dcb
Rollup merge of #100155 - compiler-errors:issue-100154, r=jackh726
Use `node_type_opt` to skip over generics that were not expected

Fixes #100154
2022-08-05 21:54:33 +05:30
Dylan DPC
9e4feff46a
Rollup merge of #99835 - TaKO8Ki:suggest-adding-or-removing-ref-for-binding-pattern, r=estebank
Suggest adding/removing `ref` for binding patterns

This fixes what a fixme comment says.

r? `@estebank`
2022-08-05 21:54:32 +05:30
bors
d77da9da84 Auto merge of #100073 - dpaoliello:externvar, r=michaelwoerister
Add test for raw-dylib with an external variable

All existing tests of link kind `raw-dylib` only validate the ability to link against functions, but it is also possible to link against variables.

This adds tests for linking against a variable using `raw-dylib` both by-name and by-ordinal.
2022-08-05 13:05:34 +00:00
Maybe Waffle
743ad07c4b Improve diagnostics for const a: = expr; 2022-08-05 16:19:28 +04:00
Guillaume Gomez
46d17d6aaa remove Clean trait implementation for hir::TraitItem 2022-08-05 12:08:32 +02:00
Guillaume Gomez
38083acde2 remove Clean trait implementation for hir::PolyTraitRef 2022-08-05 12:01:30 +02:00
bors
9bbbf60b04 Auto merge of #95977 - FabianWolff:issue-92790-dead-tuple, r=estebank
Warn about dead tuple struct fields

Continuation of #92972. Fixes #92790.

The language team has already commented on this in https://github.com/rust-lang/rust/pull/92972#issuecomment-1021511970; I have incorporated their requests here. Specifically, there is now a new allow-by-default `unused_tuple_struct_fields` lint (name bikesheddable), and fields of unit type are ignored (https://github.com/rust-lang/rust/pull/92972#issuecomment-1021815408), so error messages look like this:
```
error: field is never read: `1`
  --> $DIR/tuple-struct-field.rs:6:21
   |
LL | struct Wrapper(i32, [u8; LEN], String);
   |                     ^^^^^^^^^
   |
help: change the field to unit type to suppress this warning while preserving the field numbering
   |
LL | struct Wrapper(i32, (), String);
   |                     ~~
```
r? `@joshtriplett`
2022-08-05 09:32:26 +00:00
bors
cdfd675a63 Auto merge of #99867 - spastorino:refactor-remap-lifetimes, r=nikomatsakis
Split create_def and lowering of lifetimes for opaque types and bare async fns

r? `@cjgillot`

This work is kind of half-way, but I think it could be merged anyway.
I think we should be able to remove all the vacant arms in `new_named_lifetime_with_res`, if I'm not wrong that requires visiting more nodes. We can do that as a follow up.
In follow-up PRs, besides the thing mentioned previously, I'll be trying to remove `LifetimeCaptureContext`, `captured_lifetimes` as a global data structure, global `binders_to_ignore` and all their friends :).

Also try to remap in a more general way based on def-ids.
2022-08-05 06:35:12 +00:00
bors
6bcf01afdb Auto merge of #97085 - rylev:test-issue-33172, r=wesleywiser
Add a test for issue #33172

Adds a test confirming that #33172 has been fixed.

CDB has some surprising results as it looks like the supposedly unmangled static's symbol name is prefixed when it shouldn't be.

r? `@wesleywiser`

Closes #33172
2022-08-05 03:26:47 +00:00
Michael Howell
70a6ae6709 rustdoc: use collect() instead of repeatedly pushing to bounds 2022-08-04 18:13:53 -07:00
Michael Howell
7ba51fa05b rustdoc: use collect() instead of repeatedly pushing to bindings 2022-08-04 18:13:46 -07:00
bors
2da8820470 Auto merge of #95026 - cuviper:bump-linux-min, r=Mark-Simulacrum
Increase the minimum linux-gnu versions

This is implementing the MCP from rust-lang/compiler-team#493. It is
increasing the minimum requirements of a couple Tier 1 targets, and
others at lower tiers, so this should go through FCP sign-offs for both
`T-compiler` and `T-release`.

The new `linux-gnu` baseline is kernel 3.2 and glibc 2.17. We will also
take that kernel as the minimum floor for _all_ `*-linux-*` targets, so
it may be broadly assumed in the implementation of the standard library.
That does not preclude specific targets from having greater requirements
where it makes sense, like a new arch needing something newer, or a
platform like `linux-android` choosing a newer baseline.
2022-08-04 23:56:07 +00:00
Josh Stone
a8c12c7458 Link /rustroot/lib stuff for clang -m32 to see 2022-08-04 16:25:01 -07:00
Michael Goulet
5bb50ddc83 opt node type 2022-08-04 22:43:39 +00:00
Matthias Krüger
60d83e732b
Rollup merge of #100138 - GuillaumeGomez:rm-clean-impls, r=notriddle
Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? `@notriddle`
2022-08-04 22:25:05 +02:00
Matthias Krüger
6b938c8491
Rollup merge of #100093 - wcampbell0x2a:unused-parens-for-match-arms, r=petrochenkov
Enable unused_parens for match arms

Fixes: https://github.com/rust-lang/rust/issues/92751

Currently I can't get the `stderr` to work with `./x.py test`, but this should fix the issue. Help would be appreciated!
2022-08-04 22:25:02 +02:00
Matthias Krüger
d3aa757ff8
Rollup merge of #100058 - TaKO8Ki:suggest-positional-formatting-argument-instead-of-format-args-capture, r=estebank
Suggest a positional formatting argument instead of a captured argument

This patch fixes a part of #96999.

fixes #98241
fixes #97311

r? `@estebank`
2022-08-04 22:25:01 +02:00
Matthias Krüger
87dd56f3d6
Rollup merge of #99772 - ehuss:reenable-submodule-archive, r=Mark-Simulacrum
Re-enable submodule archive downloads.

This is effectively a revert of #98423 (though it keeps the `--depth 1` flag since that is still helpful).

GitHub has indicated that they have been working on the original issue, and my testing shows that the llvm-project archive download now succeeds 100% of the time.

This should save about a minute on every job.
2022-08-04 22:25:00 +02:00
Matthias Krüger
f6ea143f93
Rollup merge of #98796 - compiler-errors:no-semi-if-comma, r=estebank
Do not exclusively suggest `;` when `,` is also a choice

Fixes #96791
2022-08-04 22:24:59 +02:00
Daniel Paoliello
0a754b309c Add test for raw-dylib with an external variable 2022-08-04 12:47:13 -07:00
Josh Stone
c7bba72404 Downgrade dist-powerpc-linux binutils to 2.30
With binutils 2.32, we were getting errors like this:

    relocation truncated to fit: R_PPC_PLTREL24 against symbol
        `__cxa_atexit@@GLIBC_2.1.3' defined in .plt section in
        /x-tools/powerpc-unknown-linux-gnu/powerpc-unknown-linux-gnu/sysroot/usr/lib/crt1.o

but it builds okay with binutils 2.30.
2022-08-04 10:16:19 -07:00
Santiago Pastorino
9f77688d17
Completely remove captures flag 2022-08-04 11:26:53 -03:00
bors
3830ecaa8d Auto merge of #100087 - JakobDegen:mir-patch, r=tmiasko
Avoid invalidating the CFG in `MirPatch`

As a part of this change, we adjust `MirPatch` to not needlessly create unnecessary resume blocks.

r? `@tmiasko`
2022-08-04 13:24:57 +00:00
wcampbell
8dd44f1af4 Enable unused_parens for match arms 2022-08-04 07:16:39 -04:00
bors
6f18f0a9d4 Auto merge of #99953 - cjgillot:in-path-always, r=petrochenkov
Always create elided lifetimes, even if inferred.

`PathSource` gives the context in which a path is encountered.  The same `PathSource` is used for the full path and the `QSelf` part.

Therefore, we can only rely on `PathSource` to know whether typechecking will be able to infer the lifetimes, not whether we need to insert them at all.

Fixes https://github.com/rust-lang/rust/issues/99949
2022-08-04 10:21:40 +00:00
Ryan Levick
6cc3b412f8 Add min-gdb-version 2022-08-04 11:46:30 +02:00
Guillaume Gomez
008693d231 remove Clean trait implementation for hir::TraitRef 2022-08-04 11:43:50 +02:00
Guillaume Gomez
a442c1e057 remove Clean trait implementation for hir::FnRetTy 2022-08-04 11:32:45 +02:00
Ryan Levick
d39bc1a7aa Update FIXME comment
Co-authored-by: Wesley Wiser <wwiser@gmail.com>
2022-08-04 10:39:35 +02:00
Ryan Levick
f7bfd74f63 Add comment about issue caused with multiple statics 2022-08-04 10:39:35 +02:00
Ryan Levick
4fd0a7e30a Fix linux tests 2022-08-04 10:39:35 +02:00
Ryan Levick
95f4d41100 Turn CDB test back on and all clarifying test 2022-08-04 10:39:35 +02:00
Ryan Levick
f2ee1242b1 Turn off cdb test for now, link to issue 2022-08-04 10:39:35 +02:00
Ryan Levick
e696309fa3 Add a test for issue #33172 2022-08-04 10:39:35 +02:00
bors
caee496150 Auto merge of #100120 - matthiaskrgr:rollup-g6ycykq, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #98771 (Add support for link-flavor rust-lld for iOS, tvOS and watchOS)
 - #98835 (relate `closure_substs.parent_substs()` to parent fn in NLL)
 - #99746 (Use `TraitEngine` in more places that don't specifically need `FulfillmentContext::new_in_snapshot`)
 - #99786 (Recover from C++ style `enum struct`)
 - #99795 (Delay a bug when failed to normalize trait ref during specialization)
 - #100029 (Prevent ICE for `doc_alias` on match arm, statement, expression)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-08-04 03:52:29 +00:00
Josh Stone
68df40e7f0 doc: s390x also requires glibc 2.17
Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
2022-08-03 20:34:58 -07:00
Josh Stone
491bdcbe9f Clarify the comment about CentOS 7's kernel version 2022-08-03 20:34:58 -07:00
Josh Stone
d0142ce27a Increase the minimum linux-gnu versions
This is implementing the MCP from rust-lang/compiler-team#493. It is
increasing the minimum requirements of a couple Tier 1 targets, and
others at lower tiers, so this should go through FCP sign-offs for both
`T-compiler` and `T-release`.

The new `linux-gnu` baseline is kernel 3.2 and glibc 2.17. We will also
take that kernel as the minimum floor for _all_ `*-linux-*` targets, so
it may be broadly assumed in the implementation of the standard library.
That does not preclude specific targets from having greater requirements
where it makes sense, like a new arch needing something newer, or a
platform like `linux-android` choosing a newer baseline.
2022-08-03 20:34:58 -07:00
bors
1ad56350cd Auto merge of #100123 - matthiaskrgr:rollup-aylwvyc, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #98877 (Set llvm configs when building lld)
 - #100068 (Fix backwards-compatibility check for tests with `+whole-archive`)
 - #100083 (rustdoc: use a more compact encoding for source-files.js)
 - #100102 (Fix typo)
 - #100104 (Remove more Clean trait implementations)
 - #100105 (Add regression test for #90871)
 - #100107 (fix trailing whitespace in error message)
 - #100111 (Provide suggestion on missing `let` in binding statement)
 - #100119 (FilesTimes support does not build for ESP-IDF)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-08-04 01:10:08 +00:00
bors
59d99f56d8 Auto merge of #100065 - ehuss:update-cargo, r=ehuss
Update cargo, rls

14 commits in 85b500ccad8cd0b63995fd94a03ddd4b83f7905b..4fd148c47e733770c537efac5220744945d572ef
2022-07-24 21:10:46 +0000 to 2022-08-03 15:03:52 +0000
- Revert "Drop check for mingw32-make." (rust-lang/cargo#10934)
- Add reasons to all ignored tests. (rust-lang/cargo#10929)
- Grammar fixup unused patch message (rust-lang/cargo#10933)
- Always allow hg to be missing on CI. (rust-lang/cargo#10931)
- Fix formats_source test requiring rustfmt. (rust-lang/cargo#10918)
- Disable scrape_examples_complex_reverse_dependencies (rust-lang/cargo#10921)
- Contrib: Add docs on the rustbot ready command (rust-lang/cargo#10916)
- Support for negative --jobs parameter, counting backwards from max CPUs (rust-lang/cargo#10844)
- Add requirements to cargo_test. (rust-lang/cargo#9892)
- Contrib: Document submodule update process (rust-lang/cargo#10913)
- Contrib: Add docs on how to use crater (rust-lang/cargo#10912)
- Contrib: Document new-release process (rust-lang/cargo#10914)
- Override to resolver=1 in published package (rust-lang/cargo#10911)
- fix(add): Update the lock file (rust-lang/cargo#10902)

1 commits in fcf1f94c9ab2acc18cfd4368a4aeb38e77da9649..4d8b0a19986a4daab37287a5b5fe2da0775d1873
2022-07-14 17:19:11 +0200 to 2022-08-02 22:34:34 -0400
- Update cargo (rust-lang/rls#1782)
2022-08-03 22:16:07 +00:00
Matthias Krüger
d4bd4ae27a
Rollup merge of #100111 - estebank:missing-let, r=compiler-errors
Provide suggestion on missing `let` in binding statement

Fix #78907.

Fallout from the type ascription syntax.
2022-08-03 22:30:49 +02:00
Matthias Krüger
551224019b
Rollup merge of #100107 - klensy:tr-w, r=compiler-errors
fix trailing whitespace in error message
2022-08-03 22:30:49 +02:00
Matthias Krüger
9c04ffbab2
Rollup merge of #100105 - TaKO8Ki:add-regression-test-for-90871, r=compiler-errors
Add regression test for #90871

closes #90871
2022-08-03 22:30:48 +02:00
Matthias Krüger
cd2619be67
Rollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? ``@notriddle``
2022-08-03 22:30:47 +02:00
Matthias Krüger
d3b573d4c4
Rollup merge of #100083 - notriddle:notriddle/source-files-js, r=GuillaumeGomez
rustdoc: use a more compact encoding for source-files.js

This reduces the compiler-doc file from 40K to 36K, a 10% reduction in size.
2022-08-03 22:30:46 +02:00
Matthias Krüger
5a5f4993ad
Rollup merge of #100068 - dcsommer:master, r=petrochenkov
Fix backwards-compatibility check for tests with `+whole-archive`

Fixes #100066
2022-08-03 22:30:45 +02:00
Matthias Krüger
6a987f5e37
Rollup merge of #98877 - topjohnwu:fix-lld, r=jyn514
Set llvm configs when building lld

Several LLVM configs applied when building LLVM should also be applied when building LLD.

For example, without the fix, setting both `llvm.thin-lto=true` and `rust.lld=true` when building on Linux will fail, since we need to manually override the compiler and linker to `clang`, but those will not be used when building LLD, causing link errors.

r? ```@jyn514```
2022-08-03 22:30:44 +02:00