Struct Subspace :: sus :: error :: DynError
A type-erased Error
object.
DynError
also satisfies Error
itself.
Using this allows the error type to be placed in heap-allocated smart
pointers without templates, and thus without knowing the concrete type.
For example a void foo(Box<DynError>)
function can work with any
Error
type but does not need to be templated. This
allows the function to be virtual, to reduce complilation time/binary
size, or to provide dynamically linked library ABI.
Since it is type erased, it must only be referred to by reference/pointer,
and it can not be moved similar to
Pin<T>
types in
Rust.
See DynConcept
for more on type erasure of
concept-satisfying types.