mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-13 10:29:16 +00:00
![]() Split `TypeFolder` and `FallibleTypeFolder` atwain Right now there is a coherence problem with `TypeFolder` and `FallibleTypeFolder`. Namely, it's impossible to implement a `FallibleTypeFolder` that is generic over interner, b/c it has a *downstream* conflict with the blanket impl: ``` impl<I, F> FallibleTypeFolder<I> for F where F: TypeFolder<I> {} ``` Because downstream crates may implement `TypeFolder<SomeLocalInterner>` for the fallible type folder. This PR removes the relationship between `FallibleTypeFolder` and `TypeFolder`; it leads to *modest* code duplication, but otherwise does not affect perf and really doesn't matter in general. |
||
---|---|---|
.. | ||
dep_graph | ||
hir | ||
hooks | ||
infer | ||
middle | ||
mir | ||
query | ||
thir | ||
traits | ||
ty | ||
util | ||
arena.rs | ||
error.rs | ||
lib.rs | ||
lint.rs | ||
macros.rs | ||
metadata.rs | ||
tests.rs | ||
thir.rs | ||
values.rs |