on-demand-ify custom_coerce_unsized_kind
and inherent-impls
by nikomatsakis · Pull Request #40683 · rust-lang/rust (original) (raw)
There are now 3 queries:
- inherent_impls(def-id): for a given type, get a
Rc<Vec<DefId>>
with all its inherent impls. This internally usescrate_inherent_impls
, doing some hacks to keep the current deps (which, btw, are not clearly correct). - crate_inherent_impls(crate): gathers up a map from types
to
Rc<Vec<DefId>>
, touching the entire krate, possibly generating errors. - crate_inherent_impls_overlap_check(crate): performs overlap checks between the inherent impls for a given type, generating errors.