1#![no_std]
7
8#![doc = include_str!("README.md")]
10
11#![feature(const_trait_impl)]
13#![feature(const_destruct)]
14#![feature(test)]
15
16extern crate alloc;
18extern crate test;
19
20mod argument;
22#[cfg(test)]
23mod benches;
24mod descriptor;
25mod metadata;
26#[cfg(test)]
27mod tests;
28mod update;
29
30pub use argument::Argument;
32
33use libutils_issue::Issue;
35
36use core::fmt::{
38 Display,
39 Debug
40};
41
42pub use update::Update;
44
45pub use metadata::Metadata;
47
48pub use descriptor::Descriptor;
50
51
52pub trait Console {
58 fn arguments() -> &'static [Argument];
59 fn open(filename: &str) -> Result<impl Descriptor, Issue>;
60 fn problem(issue: Issue, chain: &[&'static str]) -> impl Update;
61 fn print(value: impl Display) -> impl Update;
62 fn debug(value: impl Debug) -> impl Update;
63 fn clear() -> impl Update;
64}