| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
r=compiler-errors
revert mir inlining policy for beta-1.64
revert mir inlining policy for beta-1.64
Fix #101004
|
|
Revert "Rollup merge of #97346 - JohnTitor:remove-back-compat-hacks, …
…r=oli-obk"
This reverts commit c703d11dccb4a895c7aead3b2fcd8cea8c483184, reversing
changes made to 64eb9ab869bc3f9ef3645302fbf22e706eea16cf.
it didn't apply cleanly, so now it works the same for RPIT and for TAIT instead of just working for RPIT, but we should keep those in sync anyway. It also exposed a TAIT bug (see the feature gated test that now ICEs).
r? `@pnkfelix`
fixes #99536
|
|
Use `node_type_opt` to skip over generics that were not expected
Fixes #100154
|
|
Delay formatting trimmed path until lint/error is emitted
Fixes #99387
r? `@davidtwco`
|
|
we are reverting for 1.64-beta.
|
|
|
|
This reverts commit 326646074940222d602f3683d0559088690830f4.
It was discovered that they are not implemented correctly, which
does not make them ready for stabilization.
|
|
|
|
|
|
|
|
|
|
|
|
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`
|
|
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.
|
|
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
|
|
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!
|
|
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`
|
|
Do not exclusively suggest `;` when `,` is also a choice
Fixes #96791
|
|
|
|
Avoid invalidating the CFG in `MirPatch`
As a part of this change, we adjust `MirPatch` to not needlessly create unnecessary resume blocks.
r? `@tmiasko`
|
|
|
|
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
|
|
|
|
Co-authored-by: Wesley Wiser <wwiser@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
Provide suggestion on missing `let` in binding statement
Fix #78907.
Fallout from the type ascription syntax.
|
|
fix trailing whitespace in error message
|
|
r=compiler-errors
Add regression test for #90871
closes #90871
|
|
Fix backwards-compatibility check for tests with `+whole-archive`
Fixes #100066
|
|
Prevent ICE for `doc_alias` on match arm, statement, expression
Fixes #99777.
This is a pretty minimal fix that should be safe, since rustdoc doesn't generate documentation for match arms, statements, or expressions. I mentioned in the linked issue that the `doc_alias` target checking should probably be improved to avoid future ICEs, but as a new contributor, I'm not confident enough with the HIR types to make a larger change.
|
|
compiler-errors:delay-specialization-normalize-error, r=spastorino
Delay a bug when failed to normalize trait ref during specialization
The error messages still kinda suck here but they don't ICE anymore...
Fixes #45814
Fixes #43037
r? types
|
|
Recover from C++ style `enum struct`
Closes #99625
|
|
relate `closure_substs.parent_substs()` to parent fn in NLL
Fixes #98589
The discrepancy between early- and late-bound lifetimes is because we map early-bound lifetimes into those found in the `closure_substs` while late-bound lifetimes are mapped into liberated free regions:
https://github.com/rust-lang/rust/blob/5f98537eb7b5f42c246a52c550813c3cff336069/compiler/rustc_borrowck/src/universal_regions.rs#L255-L261
r? `@rust-lang/types`
|
|
Fix #78907.
|
|
fix is_disaligned logic for nested packed structs
https://github.com/rust-lang/rust/pull/83605 broke the `is_disaligned` logic by bailing out of the loop in `is_within_packed` early. This PR fixes that problem and adds suitable tests.
Fixes https://github.com/rust-lang/rust/issues/99838
|
|
|
|
|
|
|
|
|
|
r=camelid
rustdoc: avoid inlining modules with duplicate names
Fixes rust-lang/rust#99734
|
|
Rollup of 6 pull requests
Successful merges:
- #99933 (parallelize HTML checking tool)
- #99958 (Improve position named arguments lint underline and formatting names)
- #100008 (Update all pre-cloned submodules on startup)
- #100049 (:arrow_up: rust-analyzer)
- #100070 (Clarify Cargo.toml comments)
- #100074 (rustc-docs: Be less specific about the representation of `+bundle`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
- Added `Impl`, `Closure`, ForeignMod` targets
- `Target::name` changed for `Target::Impl`
- Error output for `Target::ForeignMod` changed to "foreign module"
|
|
|