description 0.3.0

like Display, but 'static
Documentation
use description::{Description, OptionalDescription};

#[derive(Description)]
enum ChargerStatus {
    #[description("Charger connected!")]
    Connected,

    #[description("Charger disconnected!")]
    Disconnected,
}


#[derive(OptionalDescription)]
enum BatteryStatus {
    Okay,

    #[description("Low battery!")]
    LowBattery,

    #[description("Fully charged! Please remove the charger.")]
    FullyCharged,

    #[description("Battery overheating!")]
    Overheating,
}

fn main() {
    let charger = ChargerStatus::Connected;

    let battery1 = BatteryStatus::LowBattery;

    let battery2 = BatteryStatus::Okay;

    println!("Charger notification: {}", charger.description());

    if let Some(description) = battery1.description() {
        println!("Battery notification: {}", description);
    }

    if let Some(description) = battery2.description() {
        println!("Battery notification: {}", description);
    }
}