mendeleev/properties/
discovery_location.rs

1use super::Element;
2
3impl Element {
4    /// Returns the location (country, in most cases) where the element was discovered, if known.
5    /// There can be multiple locations if it was an international effort or if multiple teams
6    /// discovered or isolated the element independently.
7    ///
8    /// ```
9    /// use mendeleev::Element;
10    ///
11    /// assert_eq!(Element::H.discovery_location(), Some(["England"].as_slice()));
12    /// assert_eq!(Element::He.discovery_location(), Some(["Scotland", "Sweden"].as_slice()));
13    /// assert_eq!(Element::Og.discovery_location(), Some(["Russia"].as_slice()));
14    /// assert_eq!(Element::Au.discovery_location(), None);
15    /// ```
16    pub const fn discovery_location(&self) -> Option<&'static [&'static str]> {
17        use Element as E;
18        match self {
19            E::H => Some(&["England"]),
20            E::He => Some(&["Scotland", "Sweden"]),
21            E::Li => Some(&["Sweden"]),
22            E::Be => Some(&["Germany", "France"]),
23            E::B => Some(&["England", "France"]),
24            E::C => None,
25            E::N => Some(&["Scotland"]),
26            E::O => Some(&["England", "Sweden"]),
27            E::F => Some(&["France"]),
28            E::Ne => Some(&["England"]),
29            E::Na => Some(&["England"]),
30            E::Mg => Some(&["England"]),
31            E::Al => Some(&["Denmark"]),
32            E::Si => Some(&["Sweden"]),
33            E::P => Some(&["Germany"]),
34            E::S => None,
35            E::Cl => Some(&["Sweden"]),
36            E::Ar => Some(&["Scotland"]),
37            E::K => Some(&["England"]),
38            E::Ca => Some(&["England"]),
39            E::Sc => Some(&["Sweden"]),
40            E::Ti => Some(&["England"]),
41            E::V => Some(&["Sweden"]),
42            E::Cr => Some(&["France"]),
43            E::Mn => Some(&["Sweden"]),
44            E::Fe => None,
45            E::Co => Some(&["Sweden"]),
46            E::Ni => Some(&["Sweden"]),
47            E::Cu => None,
48            E::Zn => None,
49            E::Ga => Some(&["France"]),
50            E::Ge => Some(&["Germany"]),
51            E::As => None,
52            E::Se => Some(&["Sweden"]),
53            E::Br => Some(&["France"]),
54            E::Kr => Some(&["Great Britain"]),
55            E::Rb => Some(&["Germany"]),
56            E::Sr => Some(&["Scotland"]),
57            E::Y => Some(&["Finland"]),
58            E::Zr => Some(&["Germany"]),
59            E::Nb => Some(&["England"]),
60            E::Mo => Some(&["Sweden"]),
61            E::Tc => Some(&["Italy"]),
62            E::Ru => Some(&["Russia"]),
63            E::Rh => Some(&["England"]),
64            E::Pd => Some(&["England"]),
65            E::Ag => None,
66            E::Cd => Some(&["Germany"]),
67            E::In => Some(&["Germany"]),
68            E::Sn => None,
69            E::Sb => None,
70            E::Te => Some(&["Romania"]),
71            E::I => Some(&["France"]),
72            E::Xe => Some(&["England"]),
73            E::Cs => Some(&["Germany"]),
74            E::Ba => Some(&["England"]),
75            E::La => Some(&["Sweden"]),
76            E::Ce => Some(&["Sweden", "Germany"]),
77            E::Pr => Some(&["Austria"]),
78            E::Nd => Some(&["Austria"]),
79            E::Pm => Some(&["United States"]),
80            E::Sm => Some(&["France"]),
81            E::Eu => Some(&["France"]),
82            E::Gd => Some(&["Switzerland"]),
83            E::Tb => Some(&["Sweden"]),
84            E::Dy => Some(&["France"]),
85            E::Ho => Some(&["Switzerland"]),
86            E::Er => Some(&["Sweden"]),
87            E::Tm => Some(&["Sweden"]),
88            E::Yb => Some(&["Switzerland"]),
89            E::Lu => Some(&["France"]),
90            E::Hf => Some(&["Denmark"]),
91            E::Ta => Some(&["Sweden"]),
92            E::W => Some(&["Spain"]),
93            E::Re => Some(&["Germany"]),
94            E::Os => Some(&["England"]),
95            E::Ir => Some(&["England", "France"]),
96            E::Pt => Some(&["Italy"]),
97            E::Au => None,
98            E::Hg => None,
99            E::Tl => Some(&["England"]),
100            E::Pb => None,
101            E::Bi => None,
102            E::Po => Some(&["France"]),
103            E::At => Some(&["United States"]),
104            E::Rn => Some(&["Germany"]),
105            E::Fr => Some(&["France"]),
106            E::Ra => Some(&["France"]),
107            E::Ac => Some(&["France"]),
108            E::Th => Some(&["Sweden"]),
109            E::Pa => Some(&["England", "France"]),
110            E::U => Some(&["Germany"]),
111            E::Np => Some(&["United States"]),
112            E::Pu => Some(&["United States"]),
113            E::Am => Some(&["United States"]),
114            E::Cm => Some(&["United States"]),
115            E::Bk => Some(&["United States"]),
116            E::Cf => Some(&["United States"]),
117            E::Es => Some(&["United States"]),
118            E::Fm => Some(&["United States"]),
119            E::Md => Some(&["United States"]),
120            E::No => Some(&["Sweden"]),
121            E::Lr => Some(&["United States"]),
122            E::Rf => Some(&["United States"]),
123            E::Db => Some(&["United States"]),
124            E::Sg => Some(&["USSR", "United States"]),
125            E::Bh => Some(&["Germany"]),
126            E::Hs => Some(&["Germany"]),
127            E::Mt => Some(&["Germany"]),
128            E::Ds => Some(&["Germany"]),
129            E::Rg => Some(&["Germany"]),
130            E::Cn => Some(&["Germany"]),
131            E::Nh => Some(&["Japan"]),
132            E::Fl => Some(&["Russia"]),
133            E::Mc => Some(&["Russia"]),
134            E::Lv => Some(&["United States"]),
135            E::Ts => Some(&["Russia", "United States"]),
136            E::Og => Some(&["Russia"]),
137        }
138    }
139}