RustQ.Meta.Lower.Stdlib (rustq v1.0.0-rc.19)

Copy Markdown View Source

Lowers calls to Elixir's standard library to Rust that keeps their semantics: a call to an Elixir module goes to the module lowering it, named after it (RustQ.Meta.Lower.Enum for Enum), which implements RustQ.Meta.Lower.Stdlib.Lowering. Calls whose semantics Rust cannot preserve are rejected.

Summary

Functions

lower(ast, context)

@spec lower(Macro.t(), RustQ.Meta.Lower.Stdlib.Lowering.Context.t()) ::
  {:ok, term()} | :unsupported

lower!(ast, context)

synth(ast, context)

@spec synth(Macro.t(), RustQ.Meta.Lower.Stdlib.Lowering.TypeContext.t()) ::
  {:ok, term()} | :unsupported