block_import: switch to Box<dyn Any> for intermediates representation (#4809)

* block_import: switch to Box<dyn Any> for intermediates representation

* Use Cow and return Error instead of Option

* Remove unused error

* Distinguish NoIntermediate/InvalidIntermediate
This commit is contained in:
Wei Tang authored and GitHub committed 2020-02-03 09:55:09 +01:00
1 parent b390f51c2a
commit bff1f4a18d
3 files changed
+49 -9

No files matched your search

@@ -31,6 +31,12 @@ pub enum Error {
/// I/O terminated unexpectedly
#[display(fmt="I/O terminated unexpectedly.")]
IoTerminated,
/// Intermediate missing.
#[display(fmt="Missing intermediate.")]
NoIntermediate,
/// Intermediate is of wrong type.
#[display(fmt="Invalid intermediate.")]
InvalidIntermediate,
/// Unable to schedule wakeup.
#[display(fmt="Timer error: {}", _0)]
FaultyTimer(std::io::Error),