diff options
| author | Oliver Schneider <public.oliver.schneider@kit.edu> | 2018-05-02 12:30:45 +0200 |
|---|---|---|
| committer | Oliver Schneider <public.oliver.schneider@kit.edu> | 2018-05-02 15:48:26 +0200 |
| commit | bf2a6c3ff9e4c37526813f255f70f73db7119564 (patch) | |
| tree | bdf32994a85c6200dc8840cd6dd59ac252b39c5b /src/test | |
| parent | a2726846f6d6280b752019472b6bd791c0752006 (diff) | |
| download | rust-bf2a6c3ff9e4c37526813f255f70f73db7119564.tar.gz rust-bf2a6c3ff9e4c37526813f255f70f73db7119564.zip | |
Allow unaligned reads in constants
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() { +} |
