asterix_parser 0.1.1

Playground do Protocolo ASTERIX
Documentation
use std::env;

pub struct A;

impl A {
    fn say_something(&self) {
        println!("Something")
    } 
}

pub struct B;

impl B {
    fn say_nothing(&self) {
        println!("Nohing")
    } 
}

pub enum X {
    A { element_a: A },
    B { element_b: B }
}

#[test]
pub fn teste_static_enum() {
    let curdir = env::current_dir().unwrap();
    println!("Running test from folder: {:?}", curdir.as_path().to_str());

    let a1 = X::A { element_a: A {} };
    let b1 = X::B { element_b: B {} };    

    match a1 {
        X::A { element_a } => element_a.say_something(),
        X::B { element_b } => element_b.say_nothing()
    }

    match b1 {
        X::A { element_a } => element_a.say_something(),
        X::B { element_b } => element_b.say_nothing()
    }
}