U.D
type expr_If = {
cond : Hax_engine__Ast.Make(InputLanguage).expr;
then_ : Hax_engine__Ast.Make(InputLanguage).expr;
else_ : Hax_engine__Ast.Make(InputLanguage).expr Prelude.option;
}
val expr_If :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_If Prelude.option
type expr_App = {
f : Hax_engine__Ast.Make(InputLanguage).expr;
args : Hax_engine__Ast.Make(InputLanguage).expr Prelude.list;
generic_args : Hax_engine__Ast.Make(InputLanguage).generic_value Prelude.list;
bounds_impls : Hax_engine__Ast.Make(InputLanguage).impl_expr Prelude.list;
trait : (Hax_engine__Ast.Make(InputLanguage).impl_expr
* Hax_engine__Ast.Make(InputLanguage).generic_value Prelude.list)
Prelude.option;
}
val expr_App :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_App Prelude.option
type expr_Literal = Ast.literal
val expr_Literal :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Literal Prelude.option
type expr_Array = Hax_engine__Ast.Make(InputLanguage).expr Prelude.list
val expr_Array :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Array Prelude.option
type expr_Construct = {
constructor : Ast.global_ident;
is_record : Prelude.bool;
is_struct : Prelude.bool;
fields : (Ast.global_ident * Hax_engine__Ast.Make(InputLanguage).expr)
Prelude.list;
base : (Hax_engine__Ast.Make(InputLanguage).expr * InputLanguage.construct_base)
Prelude.option;
}
val expr_Construct :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Construct Prelude.option
type expr_Match = {
scrutinee : Hax_engine__Ast.Make(InputLanguage).expr;
arms : Hax_engine__Ast.Make(InputLanguage).arm Prelude.list;
}
val expr_Match :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Match Prelude.option
type expr_Let = {
monadic : (Hax_engine__Ast.Make(InputLanguage).supported_monads
* InputLanguage.monadic_binding)
Prelude.option;
lhs : Hax_engine__Ast.Make(InputLanguage).pat;
rhs : Hax_engine__Ast.Make(InputLanguage).expr;
body : Hax_engine__Ast.Make(InputLanguage).expr;
}
val expr_Let :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Let Prelude.option
type expr_Block = {
e : Hax_engine__Ast.Make(InputLanguage).expr;
safety_mode : Hax_engine__Ast.Make(InputLanguage).safety_kind;
witness : InputLanguage.block;
}
val expr_Block :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Block Prelude.option
type expr_LocalVar = Ast.local_ident
val expr_LocalVar :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_LocalVar Prelude.option
type expr_GlobalVar = Ast.global_ident
val expr_GlobalVar :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_GlobalVar Prelude.option
val expr_Ascription :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Ascription Prelude.option
type expr_MacroInvokation = {
macro : Ast.global_ident;
args : Prelude.string;
witness : InputLanguage.macro;
}
val expr_MacroInvokation :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_MacroInvokation Prelude.option
type expr_Assign = {
lhs : Hax_engine__Ast.Make(InputLanguage).lhs;
e : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.mutable_variable;
}
val expr_Assign :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Assign Prelude.option
type expr_Loop = {
body : Hax_engine__Ast.Make(InputLanguage).expr;
kind : Hax_engine__Ast.Make(InputLanguage).loop_kind;
state : Hax_engine__Ast.Make(InputLanguage).loop_state Prelude.option;
control_flow : (Hax_engine__Ast.Make(InputLanguage).cf_kind
* InputLanguage.fold_like_loop)
Prelude.option;
label : Prelude.string Prelude.option;
witness : InputLanguage.loop;
}
val expr_Loop :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Loop Prelude.option
type expr_Break = {
e : Hax_engine__Ast.Make(InputLanguage).expr;
acc : (Hax_engine__Ast.Make(InputLanguage).expr
* InputLanguage.state_passing_loop)
Prelude.option;
label : Prelude.string Prelude.option;
witness : InputLanguage.break * InputLanguage.loop;
}
val expr_Break :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Break Prelude.option
type expr_Return = {
e : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.early_exit;
}
val expr_Return :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Return Prelude.option
type expr_QuestionMark = {
e : Hax_engine__Ast.Make(InputLanguage).expr;
return_typ : Hax_engine__Ast.Make(InputLanguage).ty;
witness : InputLanguage.question_mark;
}
val expr_QuestionMark :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_QuestionMark Prelude.option
type expr_Continue = {
acc : (Hax_engine__Ast.Make(InputLanguage).expr
* InputLanguage.state_passing_loop)
Prelude.option;
label : Prelude.string Prelude.option;
witness : InputLanguage.continue * InputLanguage.loop;
}
val expr_Continue :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Continue Prelude.option
type expr_Borrow = {
kind : Hax_engine__Ast.Make(InputLanguage).borrow_kind;
e : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.reference;
}
val expr_Borrow :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Borrow Prelude.option
type expr_AddressOf = {
mut : InputLanguage.mutable_pointer Ast.mutability;
e : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.raw_pointer;
}
val expr_AddressOf :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_AddressOf Prelude.option
type expr_Closure = {
params : Hax_engine__Ast.Make(InputLanguage).pat Prelude.list;
body : Hax_engine__Ast.Make(InputLanguage).expr;
captures : Hax_engine__Ast.Make(InputLanguage).expr Prelude.list;
}
val expr_Closure :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Closure Prelude.option
type expr_EffectAction = {
action : InputLanguage.monadic_action;
argument : Hax_engine__Ast.Make(InputLanguage).expr;
}
val expr_EffectAction :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_EffectAction Prelude.option
val expr_Quote :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Quote Prelude.option
type pat_PWild = Prelude.unit
val pat_PWild :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PWild Prelude.option
type pat_PAscription = {
typ : Hax_engine__Ast.Make(InputLanguage).ty;
typ_span : Ast.span;
pat : Hax_engine__Ast.Make(InputLanguage).pat;
}
val pat_PAscription :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PAscription Prelude.option
type pat_PConstruct = {
constructor : Ast.global_ident;
is_record : Prelude.bool;
is_struct : Prelude.bool;
fields : Hax_engine__Ast.Make(InputLanguage).field_pat Prelude.list;
}
val pat_PConstruct :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PConstruct Prelude.option
val pat_POr : Hax_engine__Ast.Make(InputLanguage).pat -> pat_POr Prelude.option
val pat_PArray :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PArray Prelude.option
type pat_PDeref = {
subpat : Hax_engine__Ast.Make(InputLanguage).pat;
witness : InputLanguage.reference;
}
val pat_PDeref :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PDeref Prelude.option
val pat_PConstant :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PConstant Prelude.option
type pat_PBinding = {
mut : InputLanguage.mutable_variable Ast.mutability;
mode : Hax_engine__Ast.Make(InputLanguage).binding_mode;
var : Ast.local_ident;
typ : Hax_engine__Ast.Make(InputLanguage).ty;
subpat : (Hax_engine__Ast.Make(InputLanguage).pat * InputLanguage.as_pattern)
Prelude.option;
}
val pat_PBinding :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PBinding Prelude.option
type item_Fn = {
name : Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
body : Hax_engine__Ast.Make(InputLanguage).expr;
params : Hax_engine__Ast.Make(InputLanguage).param Prelude.list;
safety : Hax_engine__Ast.Make(InputLanguage).safety_kind;
}
val item_Fn :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Fn Prelude.option
type item_TyAlias = {
name : Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
ty : Hax_engine__Ast.Make(InputLanguage).ty;
}
val item_TyAlias :
Hax_engine__Ast.Make(InputLanguage).item ->
item_TyAlias Prelude.option
type item_Type = {
name : Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
variants : Hax_engine__Ast.Make(InputLanguage).variant Prelude.list;
is_struct : Prelude.bool;
}
val item_Type :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Type Prelude.option
type item_IMacroInvokation = {
macro : Ast.concrete_ident;
argument : Prelude.string;
span : Ast.span;
witness : InputLanguage.macro;
}
val item_IMacroInvokation :
Hax_engine__Ast.Make(InputLanguage).item ->
item_IMacroInvokation Prelude.option
type item_Trait = {
name : Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
items : Hax_engine__Ast.Make(InputLanguage).trait_item Prelude.list;
safety : Hax_engine__Ast.Make(InputLanguage).safety_kind;
}
val item_Trait :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Trait Prelude.option
type item_Impl = {
generics : Hax_engine__Ast.Make(InputLanguage).generics;
self_ty : Hax_engine__Ast.Make(InputLanguage).ty;
of_trait : Ast.concrete_ident
* Hax_engine__Ast.Make(InputLanguage).generic_value Prelude.list;
items : Hax_engine__Ast.Make(InputLanguage).impl_item Prelude.list;
parent_bounds : (Hax_engine__Ast.Make(InputLanguage).impl_expr
* Hax_engine__Ast.Make(InputLanguage).impl_ident)
Prelude.list;
safety : Hax_engine__Ast.Make(InputLanguage).safety_kind;
}
val item_Impl :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Impl Prelude.option
val item_Alias :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Alias Prelude.option
type item_Use = {
path : Prelude.string Prelude.list;
is_external : Prelude.bool;
rename : Prelude.string Prelude.option;
}
val item_Use :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Use Prelude.option
type item_Quote = {
quote : Hax_engine__Ast.Make(InputLanguage).quote;
origin : Ast.item_quote_origin;
}
val item_Quote :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Quote Prelude.option
type item_HaxError = Prelude.string
val item_HaxError :
Hax_engine__Ast.Make(InputLanguage).item ->
item_HaxError Prelude.option
type item_NotImplementedYet = Prelude.unit
val item_NotImplementedYet :
Hax_engine__Ast.Make(InputLanguage).item ->
item_NotImplementedYet Prelude.option
type guard_IfLet = {
lhs : Hax_engine__Ast.Make(InputLanguage).pat;
rhs : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.match_guard;
}
val guard_IfLet :
Hax_engine__Ast.Make(InputLanguage).guard ->
guard_IfLet Prelude.option
type trait_item_TIType =
Hax_engine__Ast.Make(InputLanguage).impl_ident Prelude.list
val trait_item_TIType :
Hax_engine__Ast.Make(InputLanguage).trait_item ->
trait_item_TIType Prelude.option
val trait_item_TIFn :
Hax_engine__Ast.Make(InputLanguage).trait_item ->
trait_item_TIFn Prelude.option
type trait_item_TIDefault = {
params : Hax_engine__Ast.Make(InputLanguage).param Prelude.list;
body : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.trait_item_default;
}
val trait_item_TIDefault :
Hax_engine__Ast.Make(InputLanguage).trait_item ->
trait_item_TIDefault Prelude.option
type impl_expr_Self = Prelude.unit
val impl_expr_Self :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Self Prelude.option
val impl_expr_Concrete :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Concrete Prelude.option
val impl_expr_LocalBound :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_LocalBound Prelude.option
val impl_expr_Parent :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Parent Prelude.option
type impl_expr_Projection = {
impl : Hax_engine__Ast.Make(InputLanguage).impl_expr;
item : Ast.concrete_ident;
ident : Hax_engine__Ast.Make(InputLanguage).impl_ident;
}
val impl_expr_Projection :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Projection Prelude.option
type impl_expr_ImplApp = {
impl : Hax_engine__Ast.Make(InputLanguage).impl_expr;
args : Hax_engine__Ast.Make(InputLanguage).impl_expr Prelude.list;
}
val impl_expr_ImplApp :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_ImplApp Prelude.option
type impl_expr_Dyn = Prelude.unit
val impl_expr_Dyn :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Dyn Prelude.option
val impl_expr_Builtin :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Builtin Prelude.option