diff options
Diffstat (limited to 'src/test/ui/borrowck/borrowck-mut-borrow-linear-errors.rs')
-rw-r--r-- | src/test/ui/borrowck/borrowck-mut-borrow-linear-errors.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-mut-borrow-linear-errors.rs b/src/test/ui/borrowck/borrowck-mut-borrow-linear-errors.rs new file mode 100644 index 000000000..e3d76398b --- /dev/null +++ b/src/test/ui/borrowck/borrowck-mut-borrow-linear-errors.rs @@ -0,0 +1,15 @@ +// Test to ensure we only report an error for the first issued loan that +// conflicts with a new loan, as opposed to every issued loan. This keeps us +// down to O(n) errors (for n problem lines), instead of O(n^2) errors. + +fn main() { + let mut x = 1; + let mut addr = vec![]; + loop { + match 1 { + 1 => { addr.push(&mut x); } //~ ERROR [E0499] + 2 => { addr.push(&mut x); } //~ ERROR [E0499] + _ => { addr.push(&mut x); } //~ ERROR [E0499] + } + } +} |