Derive for Unscribe

This commit is contained in:
Pantonshire committed 2021-05-20 13:08:20 +01:00
1 parent 1fab354030
commit 8f7f76d8ba
3 files changed
+160 -68

No files matched your search

+9 -5
View File
@@ -1,13 +1,13 @@
use enumscribe::*;
#[derive(TryScribeCowStr)]
#[derive(TryScribeCowStr, Unscribe, Eq, PartialEq, Debug)]
enum Airport {
#[enumscribe(str = "LHR", case_insensitive)]
#[enumscribe(str = "LHR")]
Heathrow,
#[enumscribe(str = "LGW", case_insensitive)]
Gatwick,
Gatwick(),
#[enumscribe(str = "LTN", case_insensitive)]
Luton,
Luton {},
#[enumscribe(str = "BHX", case_insensitive, ignore)]
BirminghamInternational,
#[enumscribe(other)]
@@ -15,9 +15,13 @@ enum Airport {
}
fn main() {
let luton = Airport::Luton;
let luton = Airport::Luton {};
println!("Hello, {:?}!", luton.try_scribe());
let other = Airport::Other("Dedicated EasyJet-only airport".to_owned());
println!("Hello, {:?}!", other.try_scribe());
println!("{:?}", Airport::unscribe("LHR"));
println!("{:?}", Airport::unscribe("lhr"));
println!("{:?}", Airport::unscribe("lgw"));
}