Implement stable overlap check considering negative traits
This PR implement the new disjointness rules for overlap check described in https://rust-lang.github.io/negative-impls-initiative/explainer/coherence-check.html#new-disjointness-rules
r? ``@nikomatsakis``
panic_implementation,
panic_info,
panic_location,
+ panic_no_unwind,
panic_runtime,
panic_str,
panic_unwind,
rustc_trivial_field_reads,
rustc_unsafe_specialization_marker,
rustc_variance,
+ rustc_with_negative_coherence,
rustdoc,
rustdoc_internals,
rustfmt,
impl<D: Decoder> Decodable<D> for Symbol {
#[inline]
- fn decode(d: &mut D) -> Result<Symbol, D::Error> {
- Ok(Symbol::intern(&d.read_str()?))
+ fn decode(d: &mut D) -> Symbol {
+ Symbol::intern(&d.read_str())
}
}