bors [Fri, 5 Aug 2022 23:11:49 +0000 (23:11 +0000)]
Auto merge of #100035 - workingjubilee:merge-functions, r=nikic
Enable function merging when opt is for size
It is, of course, natural to want to merge aliasing functions when
optimizing for code size, since that can eliminate several bytes.
And an exhaustive match helps make the code less brittle.
Jubilee Young [Mon, 1 Aug 2022 21:04:14 +0000 (14:04 -0700)]
Enable function merging when opt is for size
It is, of course, natural to want to merge aliasing functions when
optimizing for code size, since that can eliminate several bytes.
And an exhaustive match helps make the code less brittle.
bors [Fri, 5 Aug 2022 16:35:15 +0000 (16:35 +0000)]
Auto merge of #100174 - Dylan-DPC:rollup-wnskbk6, r=Dylan-DPC
Rollup of 6 pull requests
Successful merges:
- #99835 (Suggest adding/removing `ref` for binding patterns)
- #100155 (Use `node_type_opt` to skip over generics that were not expected)
- #100157 (rustdoc: use `collect()` instead of repeatedly pushing)
- #100158 (kmc-solid: Add a stub implementation of #98246 (`File::set_times`))
- #100166 (Remove more Clean trait implementations)
- #100168 (Improve diagnostics for `const a: = expr;`)
Dylan DPC [Fri, 5 Aug 2022 16:24:37 +0000 (21:54 +0530)]
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.
bors [Fri, 5 Aug 2022 09:32:26 +0000 (09:32 +0000)]
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`
bors [Fri, 5 Aug 2022 06:35:12 +0000 (06:35 +0000)]
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.
bors [Thu, 4 Aug 2022 23:56:07 +0000 (23:56 +0000)]
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.
bors [Thu, 4 Aug 2022 21:03:48 +0000 (21:03 +0000)]
Auto merge of #100151 - matthiaskrgr:rollup-irqwvj2, r=matthiaskrgr
Rollup of 7 pull requests
Successful merges:
- #98796 (Do not exclusively suggest `;` when `,` is also a choice)
- #99772 (Re-enable submodule archive downloads.)
- #100058 (Suggest a positional formatting argument instead of a captured argument)
- #100093 (Enable unused_parens for match arms)
- #100095 (More EarlyBinder cleanups)
- #100138 (Remove more Clean trait implementations)
- #100148 (RustWrapper: update for TypedPointerType in LLVM)
Matthias Krüger [Thu, 4 Aug 2022 20:25:02 +0000 (22:25 +0200)]
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!
Matthias Krüger [Thu, 4 Aug 2022 20:25:00 +0000 (22:25 +0200)]
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.
Josh Stone [Thu, 4 Aug 2022 17:16:19 +0000 (10:16 -0700)]
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