1#![no_std]
7
8#![feature(const_trait_impl)]
10#![feature(const_destruct)]
11#![feature(test)]
12
13extern crate alloc;
15extern crate test;
16
17mod argument;
19#[cfg(test)]
20mod benches;
21mod descriptor;
22mod metadata;
23#[cfg(test)]
24mod tests;
25mod update;
26
27pub use argument::Argument;
29
30use libutils_issue::Issue;
32
33use core::fmt::{
35 Display,
36 Debug
37};
38
39pub use update::Update;
41
42pub use metadata::Metadata;
44
45pub use descriptor::Descriptor;
47
48
49pub trait Console {
55 fn arguments() -> &'static [Argument];
56 fn open(filename: &str) -> Result<impl Descriptor, Issue>;
57 fn problem(issue: Issue, chain: &[&'static str]) -> impl Update;
58 fn print(value: impl Display) -> impl Update;
59 fn debug(value: impl Debug) -> impl Update;
60 fn clear() -> impl Update;
61}