mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 22:31:43 +00:00
Merge #3062
3062: Implement slice pattern AST > HIR lowering r=jplatte a=jplatte WIP. The necessary changes for parsing are implemented, but actual inference is not yet. Just wanted to upload what I've got so far so it doesn't get duplicated :) Will fix #3043 Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
This commit is contained in:
commit
759100fb0d
8 changed files with 64 additions and 13 deletions
|
@ -394,7 +394,7 @@ pub enum Pat {
|
|||
},
|
||||
Slice {
|
||||
prefix: Vec<PatId>,
|
||||
rest: Option<PatId>,
|
||||
slice: Option<PatId>,
|
||||
suffix: Vec<PatId>,
|
||||
},
|
||||
Path(Path),
|
||||
|
@ -425,8 +425,8 @@ impl Pat {
|
|||
args.iter().copied().for_each(f);
|
||||
}
|
||||
Pat::Ref { pat, .. } => f(*pat),
|
||||
Pat::Slice { prefix, rest, suffix } => {
|
||||
let total_iter = prefix.iter().chain(rest.iter()).chain(suffix.iter());
|
||||
Pat::Slice { prefix, slice, suffix } => {
|
||||
let total_iter = prefix.iter().chain(slice.iter()).chain(suffix.iter());
|
||||
total_iter.copied().for_each(f);
|
||||
}
|
||||
Pat::Record { args, .. } => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue