Expand description
This module provides a pass to replacing the following statements with
Nop
s
AscribeUserType
FakeRead
Assign
statements with aShallow
borrow
The CleanFakeReadsAndBorrows
“pass” is actually implemented as two
traversals (aka visits) of the input MIR. The first traversal,
DeleteAndRecordFakeReads
, deletes the fake reads and finds the
temporaries read by ForMatchGuard
reads, and DeleteFakeBorrows
deletes the initialization of those temporaries.