Можно ли определить перечисление, не беспокоясь о распределении памяти в Rust?
Предположим, следующее определение моего перечисления.
pub enum Orientation {
North,
South,
East,
West,
}
Я хотел бы знать, является ли оно можно ссылаться на один и тот же экземпляр, скажем, Orientation::North
в коде.
Создает ли следующий код два отдельных экземпляра North
?
let o1 = Orientation::North;
let o2 = Orientation::North;
Я знаю, что могу добиться этого путем определения переменных stati c, как показано ниже. Есть ли лучший (синтаксически более безопасный / простой / более чистый) способ сделать то же самое?
pub enum Orientation {
North,
South,
East,
West,
}
static NORTH: Orientation = Orientation::North;
static SOUTH: Orientation = Orientation::South;
static WEST: Orientation = Orientation::West;
static EAST: Orientation = Orientation::East;