Ensure we never accidentally serialize an ErrorGuaranteed
This commit is contained in:
parent
fd9ef69adf
commit
eb99a89bd7
@ -2244,7 +2244,7 @@ where
|
|||||||
|
|
||||||
/// Useful type to use with `Result<>` indicate that an error has already
|
/// Useful type to use with `Result<>` indicate that an error has already
|
||||||
/// been reported to the user, so no need to continue checking.
|
/// been reported to the user, so no need to continue checking.
|
||||||
#[derive(Clone, Copy, Debug, Encodable, Decodable, Hash, PartialEq, Eq, PartialOrd, Ord)]
|
#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
|
||||||
#[derive(HashStable_Generic)]
|
#[derive(HashStable_Generic)]
|
||||||
pub struct ErrorGuaranteed(());
|
pub struct ErrorGuaranteed(());
|
||||||
|
|
||||||
@ -2256,3 +2256,20 @@ impl ErrorGuaranteed {
|
|||||||
ErrorGuaranteed(())
|
ErrorGuaranteed(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<E: rustc_serialize::Encoder> Encodable<E> for ErrorGuaranteed {
|
||||||
|
#[inline]
|
||||||
|
fn encode(&self, _e: &mut E) {
|
||||||
|
panic!(
|
||||||
|
"should never serialize an `ErrorGuaranteed`, as we do not write metadata or incremental caches in case errors occurred"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl<D: rustc_serialize::Decoder> Decodable<D> for ErrorGuaranteed {
|
||||||
|
#[inline]
|
||||||
|
fn decode(_d: &mut D) -> ErrorGuaranteed {
|
||||||
|
panic!(
|
||||||
|
"`ErrorGuaranteed` should never have been serialized to metadata or incremental caches"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user