You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
thestinger opened this issue
Oct 8, 2014
· 1 comment
Labels
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)I-slowIssue: Problems and improvements with respect to performance of generated code.
There's no good reason for this doing vector reallocations.
The text was updated successfully, but these errors were encountered:
thestinger
added
I-slow
Issue: Problems and improvements with respect to performance of generated code.
A-macros
Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)
labels
Oct 8, 2014
fix: Missing non-exhaustive let diagnostics inside async or unsafe block
The reason that this test doesn't have a pointer deref case is because the following code;
```rust
fn test(ptr: *const Result<i32, !>) {
unsafe {
let Ok(_x) = *ptr;
}
}
```
is getting a block with no stmts but tail one in here(thus, no diagnostic error),
https://github.com/rust-lang/rust-analyzer/blob/0daeb5c0b05cfdf2101b0f078c27539099bf38e6/crates/hir-ty/src/diagnostics/expr.rs#L256-L257
while the following is getting a block with a single stmt without tail 🤔
```rust
fn test(x: Result<i32, &'static !>) {
let Ok(_y) = x;
}
```
I'll make a more deep inspection and file this as a new issue
_Originally posted by `@ShoyuVanilla` in rust-lang/rust-analyzer#17853 (comment)
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)I-slowIssue: Problems and improvements with respect to performance of generated code.
There's no good reason for this doing vector reallocations.
The text was updated successfully, but these errors were encountered: