Modules§
- builtin 🔒
- Check properties that are required by built-in traits and set up data structures required by type-checking/codegen.
- inherent_
impls 🔒 - The code in this module gathers up all of the inherent impls in
the current crate and organizes them in a map. It winds up
touching the whole crate and thus must be recomputed completely
for any change, but it is very cheap to compute. In practice, most
code in the compiler never directly requests this map. Instead,
it requests the inherent impls specific to some type (via
tcx.inherent_impls(def_id)
). That value, however, is computed by selecting an idea from this table. - inherent_
impls_ 🔒overlap - orphan 🔒
- Orphan checker: every impl either implements a trait defined in this crate or pertains to a type defined in this crate.
- unsafety 🔒
- Unsafety checker: every impl either implements a trait defined in this crate or pertains to a type defined in this crate.
Functions§
- check_
impl 🔒 - check_
object_ 🔒overlap - Checks whether an impl overlaps with the automatic
impl Trait for dyn Trait
. - coherent_
trait 🔒 - enforce_
empty_ 🔒impls_ for_ marker_ traits - We allow impls of marker traits to overlap, so they can’t override impls as that could make it ambiguous which associated item to use.
- enforce_
trait_ 🔒manually_ implementable - provide 🔒