diff options
| author | Ariel Ben-Yehuda <ariel.byd@gmail.com> | 2016-10-04 19:24:49 +0300 |
|---|---|---|
| committer | Ariel Ben-Yehuda <ariel.byd@gmail.com> | 2016-10-05 14:12:30 +0300 |
| commit | 45fe3a1a2ab2671bb9f726941eda6c2899eb6dff (patch) | |
| tree | cbb590e2eafeee36db87e30cae4d71f27c8112cf /src/test/codegen/enum-bounds-check.rs | |
| parent | 923336627157eac4408b0851bf01ed20940f5582 (diff) | |
| download | rust-45fe3a1a2ab2671bb9f726941eda6c2899eb6dff.tar.gz rust-45fe3a1a2ab2671bb9f726941eda6c2899eb6dff.zip | |
emit an assume that cast-from enums are in range
Fixes #36955.
Diffstat (limited to 'src/test/codegen/enum-bounds-check.rs')
| -rw-r--r-- | src/test/codegen/enum-bounds-check.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/codegen/enum-bounds-check.rs b/src/test/codegen/enum-bounds-check.rs new file mode 100644 index 00000000000..4cfb5a752df --- /dev/null +++ b/src/test/codegen/enum-bounds-check.rs @@ -0,0 +1,24 @@ +// Copyright 2016 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. + +// compile-flags: -O + +#![crate_type = "lib"] + +pub enum Foo { + A, B +} + +// CHECK-LABEL: @lookup +#[no_mangle] +pub fn lookup(buf: &[u8; 2], f: Foo) -> u8 { + // CHECK-NOT: panic_bounds_check + buf[f as usize] +} |
