1 // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 macro_rules
! enum_number
{
12 ($name
:ident { $($variant:ident = $value:expr, )* }
) => {
14 $
($variant
= $value
,)*
17 fn foo(value
: i32) -> Option
<$name
> {
19 $
( $value
=> Some($name
::$variant
), )*
33 if let Some(Change
::Down
) = foo(-1) {}
else { panic!() }