| Age | Commit message (Collapse) | Author | Lines |
|
Rollup of 10 pull requests
Successful merges:
- #97629 ([core] add `Exclusive` to sync)
- #98503 (fix data race in thread::scope)
- #98670 (llvm-wrapper: adapt for LLVMConstExtractValue removal)
- #98671 (Fix source sidebar bugs)
- #98677 (For diagnostic information of Boolean, remind it as use the type: 'bool')
- #98684 (add test for 72793)
- #98688 (interpret: add From<&MplaceTy> for PlaceTy)
- #98695 (use "or pattern")
- #98709 (Remove unneeded methods declaration for old web browsers)
- #98717 (get rid of tidy 'unnecessarily ignored' warnings)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
add ice test for 46511
Fixes #46511
r? ``@compiler-errors``
|
|
fix `emit_inference_failure_err` ICE
fixes #98598
this fix doesn't make me too happy, but :shrug:
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
|
|
add test for 72793
Fixes #72793
r? ````@oli-obk````
|
|
For diagnostic information of Boolean, remind it as use the type: 'bool'
Fixes #98492.
It helps programmers coming from other languages
modified: compiler/rustc_resolve/src/late/diagnostics.rs
|
|
It helps programmers coming from other languages
modified: compiler/rustc_resolve/src/late/diagnostics.rs
modified: src/test/ui/lint/recommend-literal.rs
modified: src/test/ui/lint/recommend-literal.stderr
modified: compiler/rustc_resolve/src/late/diagnostics.rs
modified: src/test/ui/lint/recommend-literal.rs
modified: src/test/ui/lint/recommend-literal.stderr
modified: compiler/rustc_resolve/src/late/diagnostics.rs
modified: src/test/ui/lint/recommend-literal.rs
modified: src/test/ui/lint/recommend-literal.stderr
|
|
|
|
In NLL, when we are promoting a bound out from a closure,
if we have a requirement that `T: 'a` where `'a` is in a
higher universe, we were previously ignoring that, which is
totally wrong. We should be promoting those constraints to `'static`,
since universes are not expressible across closure boundaries.
|
|
Fixes #97047
|
|
hidden types for opaque types
|
|
Signed-off-by: David Wood <david.wood@huawei.com>
|
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #96727 (Make TAIT behave exactly like RPIT)
- #98681 (rustdoc-json: Make default value of blanket impl assoc types work)
- #98682 (add tests for ICE 94432)
- #98683 (add test for ice 68875)
- #98685 (Replace `sort_modules_alphabetically` boolean with enum)
- #98687 (add test for 47814)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
|
|
add test for 47814
not sure if the issue should actually get closed though, hm
r? ``@compiler-errors``
|
|
add test for ice 68875
Fixes #68875
|
|
add tests for ICE 94432
Fixes #94432
|
|
Make TAIT behave exactly like RPIT
fixes https://github.com/rust-lang/rust/issues/96552
This makes type-alias-impl-trait behave like return-position-impl-trait. Unfortunately it also causes some cases to stop compiling due to "needing type annotations" and makes panicking cause fallback for the hidden type to `()`.
All of these are addressable, but we should probably address them for RPIT and TAIT together
r? ``@lcnr``
|
|
interpret: adjust error from constructing an invalid value
|
|
not sure if the issue should actually get closed though, hm
r? @compiler-errors
|
|
Fixes #46511
|
|
Fixes #72793
r? @oli-obk
|
|
Fixes #68875
|
|
Fixes #94432
|
|
Use verbose help for deprecation suggestion
Fixes #98631
r? `@compiler-errors`
|
|
Unbreak stage1 tests via ignore-stage1 in `proc-macro/invalid-punct-ident-1.rs`.
#98188 broke `./x.py test --stage 1` (which I thought we ran in PR CI, cc `@rust-lang/infra)` i.e. the default `./x.py test` in dev checkouts, as the panic in `src/test/ui/proc-macro/invalid-punct-ident-1.rs` moved from the server (`rustc`) to the client (proc macro), and that means it's now affected by #59998.
I made the test look like `src/test/ui-fulldeps/issue-76270-panic-in-libproc-macro.rs` tho I'm a bit confused why that one is in `src/test/ui-fulldeps`, it should still work in `src/test/ui`, no? (cc `@Aaron1011)`
|
|
Improve pretty printing of valtrees for references
This implements the changes outlined in https://github.com/rust-lang/rust/issues/66451#issuecomment-1168859638.
r? `@lcnr`
Fixes #66451
|
|
Fix #98260
Fixes https://github.com/rust-lang/rust/issues/98260
|
|
Fixes #93117
Fixes #96258
|
|
|
|
|
|
|
|
Clean up arg mismatch diagnostic, generalize tuple wrap suggestion
This is based on top of #97542, so just look at the last commit which contains the relevant changes.
1. Remove `final_arg_types` which was one of the last places we were using raw (`usize`) indices instead of typed indices in the arg mismatch suggestion code.
2. Improve the tuple wrap suggestion, now we suggest things like `call(a, b, c, d)` -> `call(a, (b, c), d)` :smiley_cat:
3. Folded in fix #98645
|
|
Erase regions in New Abstract Consts
When an abstract const is constructed, we previously included lifetimes in the set of substitutes, so it was not able to unify two abstract consts if their lifetimes did not match but the values did, despite the values not depending on the lifetimes. This caused code that should have compiled to not compile.
Fixes #98452
r? ```@lcnr```
|
|
compiler-errors:rustc-borrowck-session-diagnostic-1, r=davidtwco
Migrate some `rustc_borrowck` diagnostics to `SessionDiagnostic`
Self-explanatory
r? ```@davidtwco```
|
|
|
|
|
|
|
|
|
|
r=davidtwco
Some borrowck diagnostic fixes
1. Remove some redundant `.as_ref` suggestion logic from borrowck, this has the consequence of also not suggesting `.as_ref` after `Option` methods, but (correctly) before.
2. Fix a bug where we were replacing a binding's name with a type. Instead, make it a note.
This is somewhat incomplete. See `src/test/ui/borrowck/suggest-as-ref-on-mut-closure.rs` for more improvements.
|
|
Add regression test for #79224
Closes #79224
r? `@compiler-errors`
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
|
|
Fix trait object reborrow suggestion
Fixes #93596
Slightly generalizes the logic we use to suggest fix first implemented in #95609, specifically when we have a `Sized` obligation that comes from a struct's unsized tail.
|
|
Use typed indices in argument mismatch algorithm
I kinda went overboard with the renames, but in general, "arg" is renamed to "expected", and "input" is renamed to "provided", and we use new typed indices to make sure we're indexing into the right sized array.
Other drive-by changes:
1. Factor this logic into a new function, so we don't need to `break 'label` to escape it.
1. Factored out dependence on `final_arg_types`, which is never populated for arguments greater than the number of expected args. Instead, we just grab the final coerced expression type from `in_progress_typeck_results`.
1. Adjust the criteria we use to print (provided) type names, before we didn't suggest anything that had infer vars, but now we suggest thing that have infer vars but aren't `_`.
~Also, sorry in advance, I kinda want to backport this but I know I have folded in a lot of unnecessary drive-by changes that might discourage that. I would be open to brainstorming how to get some of these changes on beta at least.~ edit: Minimized the ICE-fixing changes to #97557
cc `@jackh726` as author of #92364, and `@estebank` as reviewer of the PR.
fixes #97484
|