diff options
| author | kennytm <kennytm@gmail.com> | 2018-05-03 16:11:32 +0800 |
|---|---|---|
| committer | kennytm <kennytm@gmail.com> | 2018-05-04 02:12:50 +0800 |
| commit | 46bc2c28b98ecdd8fed030c060e85072dcb67fc0 (patch) | |
| tree | 31308612aa19fb06286fb95ea669b3def8bd8739 /src/test | |
| parent | fd4bf237834de7728d4a8a3af32393d27c934509 (diff) | |
| parent | bf2a6c3ff9e4c37526813f255f70f73db7119564 (diff) | |
Rollup merge of #50393 - oli-obk:packed_const_panic, r=eddyb
Allow unaligned reads in constants fixes #50356 introduced in https://github.com/rust-lang/rust/pull/49513
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/const-eval/ice-packed.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/const-eval/ice-packed.rs b/src/test/ui/const-eval/ice-packed.rs new file mode 100644 index 00000000000..1db12a06b03 --- /dev/null +++ b/src/test/ui/const-eval/ice-packed.rs @@ -0,0 +1,28 @@ +// Copyright 2018 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-pass +#[derive(Copy, Clone, PartialEq, Eq)] +#[repr(packed)] +pub struct Num(u64); + +impl Num { + pub const ZERO: Self = Num(0); +} + +pub fn decrement(a: Num) -> Num { + match a { + Num::ZERO => Num::ZERO, + a => Num(a.0 - 1) + } +} + +fn main() { +} |
