1#![no_std]
7
8extern crate alloc;
10
11mod argument;
13mod continuations;
14
15pub use argument::Argument;
17
18use libutils_issue::Issue;
20
21use core::fmt::{
23 Display,
24 Debug
25};
26
27pub use continuations::{
29 Synchronization,
30 Descriptor,
31 Data
32};
33
34
35pub trait Console {
41 fn arguments<'valid>(&'valid self) -> &'valid [Argument];
42 fn open(&self, filename: &str) -> Result<impl Descriptor, Issue>;
43 fn problem(&self, issue: Issue, chain: &[&'static str]) -> impl Synchronization;
44 fn print(&self, value: impl Display) -> impl Synchronization;
45 fn debug(&self, value: impl Debug) -> impl Synchronization;
46}