1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! `SystemPlatform`, and its nested `SystemPlatform.OS` and
//! `SystemPlatform.Architecture`.
/// `SystemPlatform.OS`.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Os {
Linux,
Darwin,
}
/// `SystemPlatform.Architecture`.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Architecture {
Arm64,
Amd64,
}
/// `SystemPlatform`.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct SystemPlatform {
pub os: Os,
pub architecture: Architecture,
}
impl SystemPlatform {
/// `SystemPlatform.linuxArm`.
pub const LINUX_ARM: Self = Self {
os: Os::Linux,
architecture: Architecture::Arm64,
};
/// `SystemPlatform.linuxAmd`.
pub const LINUX_AMD: Self = Self {
os: Os::Linux,
architecture: Architecture::Amd64,
};
}