Tests for feature(bind_by_move_pattern_guards)
.
Apparently copyright notices are no longer necessary apparently. (See #43498 and #53654.)
This commit is contained in:
parent
7d844e871c
commit
c50884c615
14 changed files with 208 additions and 11 deletions
|
@ -0,0 +1,40 @@
|
|||
#![feature(nll)]
|
||||
#![feature(bind_by_move_pattern_guards)]
|
||||
|
||||
// compile-pass
|
||||
|
||||
struct A { a: Box<i32> }
|
||||
|
||||
impl A {
|
||||
fn get(&self) -> i32 { *self.a }
|
||||
}
|
||||
|
||||
fn foo(n: i32) {
|
||||
let x = A { a: Box::new(n) };
|
||||
let y = match x {
|
||||
A { a: v } if *v == 42 => v,
|
||||
_ => Box::new(0),
|
||||
};
|
||||
}
|
||||
|
||||
fn bar(n: i32) {
|
||||
let x = A { a: Box::new(n) };
|
||||
let y = match x {
|
||||
A { a: v } if x.get() == 42 => v,
|
||||
_ => Box::new(0),
|
||||
};
|
||||
}
|
||||
|
||||
fn baz(n: i32) {
|
||||
let x = A { a: Box::new(n) };
|
||||
let y = match x {
|
||||
A { a: v } if *v.clone() == 42 => v,
|
||||
_ => Box::new(0),
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
foo(107);
|
||||
bar(107);
|
||||
baz(107);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue