-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 5 pull requests #94392
Rollup of 5 pull requests #94392
Conversation
…used type parameter The user wrote the bound, so it's obvious they want a type.
…const-with-bounds-unused-generic-param, r=jackh726 Do not suggest using a const parameter when there are bounds on an unused type parameter The user wrote the bound, so it's obvious they want a type.
…ackh726 Provide extra note if synthetic type args are specified Implement the unresolved question in rust-lang#83701 as suggested in rust-lang#86176 (comment). r? ``@jackh726``
…=jackh726 Remove unused `unsound_ignore_borrow_on_drop`
…r=jackh726 chalk: Fix wrong debrujin index in opaque type handling. A folder in opaque type lowering was substituting all opaque type references with a variable with debrujin index 0 ignoring how many binders deep we are. This caused an ICE with `Not enough bound vars: ^0 not found in []` ([full logs](https://gist.github.com/Dirbaio/2b9374ff4fce37afb9d665dc9f0000df)) with the following code. ```rust fn main() -> () {} async fn foo(x: u32) -> u32 { x } ``` With the fix, it no longer ICEs. It still doesn't typecheck due to generator issues. I've added a "known-bug" test so that at least it doesn't regress back to ICEing. r? ``@jackh726``
Avoid exhausting stack space in dominator compression Doesn't add a test case -- I ended up running into this while playing with the generated example from rust-lang#43578, which we could do with a run-make test (to avoid checking a large code snippet into tree), but I suspect we don't want to wait for it to compile (locally it takes ~14s -- not terrible, but doesn't seem worth it to me). In practice stack space exhaustion is difficult to test for, too, since if we set the bound too low a different call structure above us (e.g., a nearer ensure_sufficient_stack call) would let the test pass even with the old impl, most likely. Locally it seems like this manages to perform approximately equivalently to the recursion, but will run perf to confirm.
@bors r+ rollup=never p=5 |
📌 Commit 648a8e3 has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (d5a9bc9): comparison url. Summary: This benchmark run did not return any relevant results. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
Successful merges:
unsound_ignore_borrow_on_drop
#94087 (Remove unusedunsound_ignore_borrow_on_drop
)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup