diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-07-22 12:56:48 -0400 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-07-22 12:56:48 -0400 |
| commit | 0ac7438c9bcb9fdada0987bb02f7673170613681 (patch) | |
| tree | 80a6fa5dafcaa52ee0f4ee36de99ca32cd95788b | |
| parent | db0e0efa78217c68bad4bdd7d8c72a513786f00e (diff) | |
| parent | 871ccfb5a92468056e5492c7f2e54a244657a3e9 (diff) | |
Rollup merge of #27140 - dotdash:test-26468, r=luqmana
The fix for #26468 was made upstream and landed with the LLVM update in #27076. Closes #26468
| -rw-r--r-- | src/test/run-pass/issue-26468.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-26468.rs b/src/test/run-pass/issue-26468.rs new file mode 100644 index 00000000000..9fb8675e84e --- /dev/null +++ b/src/test/run-pass/issue-26468.rs @@ -0,0 +1,38 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![allow(dead_code)] + +enum FooMode { + Check = 0x1001, +} + +enum BarMode { + Check = 0x2001, +} + +enum Mode { + Foo(FooMode), + Bar(BarMode), +} + +#[inline(never)] +fn broken(mode: &Mode) -> u32 { + for _ in 0..1 { + if let Mode::Foo(FooMode::Check) = *mode { return 17 } + if let Mode::Bar(BarMode::Check) = *mode { return 19 } + } + return 42; +} + +fn main() { + let mode = Mode::Bar(BarMode::Check); + assert_eq!(broken(&mode), 19); +} |
