fn check_borrow_conflicts_in_at_patterns<'tcx>(
    cx: &MatchVisitor<'_, 'tcx>,
    pat: &Pat<'tcx>
)
Expand description

Check if a by-value binding is by-value. That is, check if the binding’s type is not Copy. Check that there are no borrow or move conflicts in binding @ subpat patterns.

For example, this would reject:

  • ref x @ Some(ref mut y),
  • ref mut x @ Some(ref y),
  • ref mut x @ Some(ref mut y),
  • ref mut? x @ Some(y), and
  • x @ Some(ref mut? y).

This analysis is not subsumed by NLL.