#![no_std]
#![doc = include_str!("README.md")]
#![feature(const_trait_impl)]
#![feature(const_destruct)]
#![feature(test)]
extern crate alloc;
extern crate test;
mod argument;
#[cfg(test)]
mod benches;
mod descriptor;
mod metadata;
#[cfg(test)]
mod tests;
mod update;
pub use argument::Argument;
use issuing::Issue;
use core::fmt::{
Display,
Debug
};
pub use update::Update;
pub use metadata::Metadata;
pub use descriptor::Descriptor;
pub trait Console {
fn arguments() -> &'static [Argument];
fn open(filename: &str) -> Result<impl Descriptor, Issue>;
fn problem(issue: Issue, chain: &[&'static str]) -> impl Update;
fn print(value: impl Display) -> impl Update;
fn debug(value: impl Debug) -> impl Update;
fn clear() -> impl Update;
}