2014-02-23 23:02:27 +00:00
|
|
|
// Test that immutable pattern bindings cannot be reassigned.
|
|
|
|
|
|
|
|
enum E {
|
2015-01-08 10:54:35 +00:00
|
|
|
Foo(isize)
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
struct S {
|
2015-01-08 10:54:35 +00:00
|
|
|
bar: isize,
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
pub fn main() {
|
2015-01-31 16:23:42 +00:00
|
|
|
match 1 {
|
2014-02-23 23:02:27 +00:00
|
|
|
x => {
|
2019-04-22 07:40:08 +00:00
|
|
|
x += 1; //~ ERROR [E0384]
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-11-06 08:05:53 +00:00
|
|
|
match E::Foo(1) {
|
|
|
|
E::Foo(x) => {
|
2019-04-22 07:40:08 +00:00
|
|
|
x += 1; //~ ERROR [E0384]
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-06-14 02:09:12 +00:00
|
|
|
match (S { bar: 1 }) {
|
2014-02-23 23:02:27 +00:00
|
|
|
S { bar: x } => {
|
2019-04-22 07:40:08 +00:00
|
|
|
x += 1; //~ ERROR [E0384]
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-01-31 16:23:42 +00:00
|
|
|
match (1,) {
|
2014-02-23 23:02:27 +00:00
|
|
|
(x,) => {
|
2019-04-22 07:40:08 +00:00
|
|
|
x += 1; //~ ERROR [E0384]
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-01-31 16:23:42 +00:00
|
|
|
match [1,2,3] {
|
2014-02-23 23:02:27 +00:00
|
|
|
[x,_,_] => {
|
2019-04-22 07:40:08 +00:00
|
|
|
x += 1; //~ ERROR [E0384]
|
2014-02-23 23:02:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|