pub trait EngineTypes:
Sized
+ Copy
+ Clone
+ Debug
+ 'static {
Show 19 associated items
type Char: Character;
type CSName: CSName<Self::Char>;
type Token: Token<Char = Self::Char, CS = Self::CSName> + Send + Sync;
type Extension: EngineExtension<Self>;
type File: File<Char = Self::Char> + Send + Sync;
type FileSystem: FileSystem<File = Self::File>;
type Int: TeXInt;
type Dim: TeXDimen + Numeric<Self::Int>;
type MuDim: MuDim + Numeric<Self::Int>;
type Num: NumSet<Int = Self::Int, Dim = Self::Dim, MuDim = Self::MuDim>;
type State: State<Self>;
type Outputs: Outputs;
type Mouth: Mouth<Self>;
type Gullet: Gullet<Self>;
type Stomach: Stomach<Self>;
type ErrorHandler: ErrorHandler<Self>;
type CustomNode: CustomNodeTrait<Self>;
type Font: Font<Char = Self::Char, Int = Self::Int, Dim = Self::Dim, CS = Self::CSName>;
type FontSystem: FontSystem<Font = Self::Font, Char = Self::Char, Int = Self::Int, Dim = Self::Dim, CS = Self::CSName>;
}Expand description
The types that an engine needs to implement. To reduce overhad in function signature, we bundle all of them into a single trait and pass that around.
Required Associated Types§
type Char: Character
type CSName: CSName<Self::Char>
type Token: Token<Char = Self::Char, CS = Self::CSName> + Send + Sync
type Extension: EngineExtension<Self>
type File: File<Char = Self::Char> + Send + Sync
type FileSystem: FileSystem<File = Self::File>
type Int: TeXInt
type Dim: TeXDimen + Numeric<Self::Int>
type MuDim: MuDim + Numeric<Self::Int>
type Num: NumSet<Int = Self::Int, Dim = Self::Dim, MuDim = Self::MuDim>
type State: State<Self>
type Outputs: Outputs
type Mouth: Mouth<Self>
type Gullet: Gullet<Self>
type Stomach: Stomach<Self>
type ErrorHandler: ErrorHandler<Self>
type CustomNode: CustomNodeTrait<Self>
type Font: Font<Char = Self::Char, Int = Self::Int, Dim = Self::Dim, CS = Self::CSName>
type FontSystem: FontSystem<Font = Self::Font, Char = Self::Char, Int = Self::Int, Dim = Self::Dim, CS = Self::CSName>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.