blob: 435aa209d51de891e644ecd0f84cdd4e50743335 [file] [log] [blame]
David Tolnay64703b42020-05-10 22:12:33 -07001use proc_macro2::Ident;
2
3#[derive(Copy, Clone, PartialEq)]
4pub enum Derive {
5 Clone,
6 Copy,
7}
8
9impl Derive {
10 pub fn from(ident: &Ident) -> Option<Self> {
11 match ident.to_string().as_str() {
12 "Clone" => Some(Derive::Clone),
13 "Copy" => Some(Derive::Copy),
14 _ => None,
15 }
16 }
17}
18
19impl AsRef<str> for Derive {
20 fn as_ref(&self) -> &str {
21 match self {
22 Derive::Clone => "Clone",
23 Derive::Copy => "Copy",
24 }
25 }
26}