about summary refs log tree commit diff
path: root/src/test/ui/async-await/async-block-control-flow-static-semantics.rs
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2022-03-28 17:13:56 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2022-03-30 10:54:37 +1100
commit524d21bd5495ad9941597701e7e924ade3f60b53 (patch)
treea1c50dfac7c6d4ad29df20a15acaa425b85c895c /src/test/ui/async-await/async-block-control-flow-static-semantics.rs
parenta1b140cdb70e1bcdffa9e6671b17fd69ef80c4f6 (diff)
downloadrust-524d21bd5495ad9941597701e7e924ade3f60b53.tar.gz
rust-524d21bd5495ad9941597701e7e924ade3f60b53.zip
Overhaul how matches are recorded.
Currently, matches within a sequence are recorded in a new empty
`matches` vector. Then when the sequence finishes the matches are merged
into the `matches` vector of the parent.

This commit changes things so that a sequence mp inherits the matches
made so far. This means that additional matches from the sequence don't
need to be merged into the parent. `push_match` becomes more
complicated, and the current sequence depth needs to be tracked. But
it's a sizeable performance win because it avoids one or more
`push_match` calls on every iteration of a sequence.

The commit also removes `match_hi`, which is no longer necessary.
Diffstat (limited to 'src/test/ui/async-await/async-block-control-flow-static-semantics.rs')
0 files changed, 0 insertions, 0 deletions