hax_frontend_exporter

Module traits

source

Re-exports§

Modules§

  • resolution 🔒
    Trait resolution: given a trait reference, we track which local clause caused it to be true. This module is independent from the rest of hax, in particular it doesn’t use its state-tracking machinery.
  • utils 🔒
    Each item can involve three kinds of predicates:

Structs§

  • An ImplExpr describes the full data of a trait implementation. Because of generics, this may need to combine several concrete trait implementation items. For example, ((1u8, 2u8), "hello").clone() combines the generic implementation of Clone for (A, B) with the concrete implementations for u8 and &str, represented as a tree.

Enums§

  • The source of a particular trait implementation. Most often this is either Concrete for a concrete impl Trait for Type {} item, or LocalBound for a context-bound where T: Trait.

Functions§

  • Retrieve the Self: Trait clause for a trait associated item.
  • Solve the trait obligations for implementing a trait (or for trait associated type bounds) in the current context.
  • Solve the trait obligations for a specific item use (for example, a method call, an ADT, etc.) in the current context.
  • Apply the given generics to the provided clauses and resolve the trait references in the current context.
  • This is the entrypoint of the solving.
  • Given a clause clause in the context of some impl block impl_did, susbts correctly Self from clause and (1) derive a Clause and (2) resolve an ImplExpr.