Correctly access ScalarPair fields during const eval
This commit is contained in:
parent
d830f46b77
commit
47f37d67f1
4 changed files with 80 additions and 79 deletions
41
src/test/ui/const-eval/issue-51300.rs
Normal file
41
src/test/ui/const-eval/issue-51300.rs
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
// 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
|
||||
// https://github.com/rust-lang/rust/issues/51300
|
||||
|
||||
#[derive(PartialEq, Eq, Clone, Copy)]
|
||||
pub struct Stat {
|
||||
pub id: u8,
|
||||
pub index: usize,
|
||||
}
|
||||
|
||||
impl Stat {
|
||||
pub const STUDENT_HAPPINESS: Stat = Stat{
|
||||
id: 0,
|
||||
index: 0,
|
||||
};
|
||||
pub const STUDENT_HUNGER: Stat = Stat{
|
||||
id: 0,
|
||||
index: Self::STUDENT_HAPPINESS.index + 1,
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
pub fn from_index(id: u8, index: usize) -> Option<Stat> {
|
||||
let stat = Stat{id, index};
|
||||
match stat {
|
||||
Stat::STUDENT_HAPPINESS => Some(Stat::STUDENT_HAPPINESS),
|
||||
Stat::STUDENT_HUNGER => Some(Stat::STUDENT_HUNGER),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
Loading…
Add table
Add a link
Reference in a new issue