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 Hax_engine.Prelude.option;
}
val expr_If :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_If Hax_engine.Prelude.option
type expr_App = {
f : Hax_engine__Ast.Make(InputLanguage).expr;
args : Hax_engine__Ast.Make(InputLanguage).expr Hax_engine.Prelude.list;
generic_args : Hax_engine__Ast.Make(InputLanguage).generic_value
Hax_engine.Prelude.list;
bounds_impls : Hax_engine__Ast.Make(InputLanguage).impl_expr
Hax_engine.Prelude.list;
trait : (Hax_engine__Ast.Make(InputLanguage).impl_expr
* Hax_engine__Ast.Make(InputLanguage).generic_value
Hax_engine.Prelude.list)
Hax_engine.Prelude.option;
}
val expr_App :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_App Hax_engine.Prelude.option
type expr_Literal = Hax_engine.Ast.literal
val expr_Literal :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Literal Hax_engine.Prelude.option
type expr_Array =
Hax_engine__Ast.Make(InputLanguage).expr Hax_engine.Prelude.list
val expr_Array :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Array Hax_engine.Prelude.option
type expr_Construct = {
constructor : Hax_engine.Ast.global_ident;
is_record : Hax_engine.Prelude.bool;
is_struct : Hax_engine.Prelude.bool;
fields : (Hax_engine.Ast.global_ident
* Hax_engine__Ast.Make(InputLanguage).expr)
Hax_engine.Prelude.list;
base : (Hax_engine__Ast.Make(InputLanguage).expr * InputLanguage.construct_base)
Hax_engine.Prelude.option;
}
val expr_Construct :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Construct Hax_engine.Prelude.option
type expr_Match = {
scrutinee : Hax_engine__Ast.Make(InputLanguage).expr;
arms : Hax_engine__Ast.Make(InputLanguage).arm Hax_engine.Prelude.list;
}
val expr_Match :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Match Hax_engine.Prelude.option
type expr_Let = {
monadic : (Hax_engine__Ast.Make(InputLanguage).supported_monads
* InputLanguage.monadic_binding)
Hax_engine.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 Hax_engine.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 Hax_engine.Prelude.option
type expr_LocalVar = Hax_engine.Ast.local_ident
val expr_LocalVar :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_LocalVar Hax_engine.Prelude.option
type expr_GlobalVar = Hax_engine.Ast.global_ident
val expr_GlobalVar :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_GlobalVar Hax_engine.Prelude.option
val expr_Ascription :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Ascription Hax_engine.Prelude.option
type expr_MacroInvokation = {
macro : Hax_engine.Ast.global_ident;
args : Hax_engine.Prelude.string;
witness : InputLanguage.macro;
}
val expr_MacroInvokation :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_MacroInvokation Hax_engine.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 Hax_engine.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
Hax_engine.Prelude.option;
control_flow : (Hax_engine__Ast.Make(InputLanguage).cf_kind
* InputLanguage.fold_like_loop)
Hax_engine.Prelude.option;
label : Hax_engine.Prelude.string Hax_engine.Prelude.option;
witness : InputLanguage.loop;
}
val expr_Loop :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Loop Hax_engine.Prelude.option
type expr_Break = {
e : Hax_engine__Ast.Make(InputLanguage).expr;
acc : (Hax_engine__Ast.Make(InputLanguage).expr
* InputLanguage.state_passing_loop)
Hax_engine.Prelude.option;
label : Hax_engine.Prelude.string Hax_engine.Prelude.option;
witness : InputLanguage.break * InputLanguage.loop;
}
val expr_Break :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Break Hax_engine.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 Hax_engine.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 Hax_engine.Prelude.option
type expr_Continue = {
acc : (Hax_engine__Ast.Make(InputLanguage).expr
* InputLanguage.state_passing_loop)
Hax_engine.Prelude.option;
label : Hax_engine.Prelude.string Hax_engine.Prelude.option;
witness : InputLanguage.continue * InputLanguage.loop;
}
val expr_Continue :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Continue Hax_engine.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 Hax_engine.Prelude.option
type expr_AddressOf = {
mut : InputLanguage.mutable_pointer Hax_engine.Ast.mutability;
e : Hax_engine__Ast.Make(InputLanguage).expr;
witness : InputLanguage.raw_pointer;
}
val expr_AddressOf :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_AddressOf Hax_engine.Prelude.option
type expr_Closure = {
params : Hax_engine__Ast.Make(InputLanguage).pat Hax_engine.Prelude.list;
body : Hax_engine__Ast.Make(InputLanguage).expr;
captures : Hax_engine__Ast.Make(InputLanguage).expr Hax_engine.Prelude.list;
}
val expr_Closure :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Closure Hax_engine.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 Hax_engine.Prelude.option
val expr_Quote :
Hax_engine__Ast.Make(InputLanguage).expr ->
expr_Quote Hax_engine.Prelude.option
type pat_PWild = Hax_engine.Prelude.unit
val pat_PWild :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PWild Hax_engine.Prelude.option
type pat_PAscription = {
typ : Hax_engine__Ast.Make(InputLanguage).ty;
typ_span : Hax_engine.Ast.span;
pat : Hax_engine__Ast.Make(InputLanguage).pat;
}
val pat_PAscription :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PAscription Hax_engine.Prelude.option
type pat_PConstruct = {
constructor : Hax_engine.Ast.global_ident;
is_record : Hax_engine.Prelude.bool;
is_struct : Hax_engine.Prelude.bool;
fields : Hax_engine__Ast.Make(InputLanguage).field_pat Hax_engine.Prelude.list;
}
val pat_PConstruct :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PConstruct Hax_engine.Prelude.option
val pat_POr :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_POr Hax_engine.Prelude.option
val pat_PArray :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PArray Hax_engine.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 Hax_engine.Prelude.option
val pat_PConstant :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PConstant Hax_engine.Prelude.option
type pat_PBinding = {
mut : InputLanguage.mutable_variable Hax_engine.Ast.mutability;
mode : Hax_engine__Ast.Make(InputLanguage).binding_mode;
var : Hax_engine.Ast.local_ident;
typ : Hax_engine__Ast.Make(InputLanguage).ty;
subpat : (Hax_engine__Ast.Make(InputLanguage).pat * InputLanguage.as_pattern)
Hax_engine.Prelude.option;
}
val pat_PBinding :
Hax_engine__Ast.Make(InputLanguage).pat ->
pat_PBinding Hax_engine.Prelude.option
type item_Fn = {
name : Hax_engine.Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
body : Hax_engine__Ast.Make(InputLanguage).expr;
params : Hax_engine__Ast.Make(InputLanguage).param Hax_engine.Prelude.list;
safety : Hax_engine__Ast.Make(InputLanguage).safety_kind;
}
val item_Fn :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Fn Hax_engine.Prelude.option
type item_TyAlias = {
name : Hax_engine.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 Hax_engine.Prelude.option
type item_Type = {
name : Hax_engine.Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
variants : Hax_engine__Ast.Make(InputLanguage).variant Hax_engine.Prelude.list;
is_struct : Hax_engine.Prelude.bool;
}
val item_Type :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Type Hax_engine.Prelude.option
type item_IMacroInvokation = {
macro : Hax_engine.Ast.concrete_ident;
argument : Hax_engine.Prelude.string;
span : Hax_engine.Ast.span;
witness : InputLanguage.macro;
}
val item_IMacroInvokation :
Hax_engine__Ast.Make(InputLanguage).item ->
item_IMacroInvokation Hax_engine.Prelude.option
type item_Trait = {
name : Hax_engine.Ast.concrete_ident;
generics : Hax_engine__Ast.Make(InputLanguage).generics;
items : Hax_engine__Ast.Make(InputLanguage).trait_item Hax_engine.Prelude.list;
safety : Hax_engine__Ast.Make(InputLanguage).safety_kind;
}
val item_Trait :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Trait Hax_engine.Prelude.option
type item_Impl = {
generics : Hax_engine__Ast.Make(InputLanguage).generics;
self_ty : Hax_engine__Ast.Make(InputLanguage).ty;
of_trait : Hax_engine.Ast.concrete_ident
* Hax_engine__Ast.Make(InputLanguage).generic_value
Hax_engine.Prelude.list;
items : Hax_engine__Ast.Make(InputLanguage).impl_item Hax_engine.Prelude.list;
parent_bounds : (Hax_engine__Ast.Make(InputLanguage).impl_expr
* Hax_engine__Ast.Make(InputLanguage).impl_ident)
Hax_engine.Prelude.list;
safety : Hax_engine__Ast.Make(InputLanguage).safety_kind;
}
val item_Impl :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Impl Hax_engine.Prelude.option
val item_Alias :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Alias Hax_engine.Prelude.option
type item_Use = {
path : Hax_engine.Prelude.string Hax_engine.Prelude.list;
is_external : Hax_engine.Prelude.bool;
rename : Hax_engine.Prelude.string Hax_engine.Prelude.option;
}
val item_Use :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Use Hax_engine.Prelude.option
type item_Quote = {
quote : Hax_engine__Ast.Make(InputLanguage).quote;
origin : Hax_engine.Ast.item_quote_origin;
}
val item_Quote :
Hax_engine__Ast.Make(InputLanguage).item ->
item_Quote Hax_engine.Prelude.option
type item_HaxError = Hax_engine.Prelude.string
val item_HaxError :
Hax_engine__Ast.Make(InputLanguage).item ->
item_HaxError Hax_engine.Prelude.option
type item_NotImplementedYet = Hax_engine.Prelude.unit
val item_NotImplementedYet :
Hax_engine__Ast.Make(InputLanguage).item ->
item_NotImplementedYet Hax_engine.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 Hax_engine.Prelude.option
type trait_item_TIType =
Hax_engine__Ast.Make(InputLanguage).impl_ident Hax_engine.Prelude.list
val trait_item_TIType :
Hax_engine__Ast.Make(InputLanguage).trait_item ->
trait_item_TIType Hax_engine.Prelude.option
val trait_item_TIFn :
Hax_engine__Ast.Make(InputLanguage).trait_item ->
trait_item_TIFn Hax_engine.Prelude.option
type trait_item_TIDefault = {
params : Hax_engine__Ast.Make(InputLanguage).param Hax_engine.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 Hax_engine.Prelude.option
type impl_expr_Self = Hax_engine.Prelude.unit
val impl_expr_Self :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Self Hax_engine.Prelude.option
val impl_expr_Concrete :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Concrete Hax_engine.Prelude.option
val impl_expr_LocalBound :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_LocalBound Hax_engine.Prelude.option
val impl_expr_Parent :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Parent Hax_engine.Prelude.option
type impl_expr_Projection = {
impl : Hax_engine__Ast.Make(InputLanguage).impl_expr;
item : Hax_engine.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 Hax_engine.Prelude.option
type impl_expr_ImplApp = {
impl : Hax_engine__Ast.Make(InputLanguage).impl_expr;
args : Hax_engine__Ast.Make(InputLanguage).impl_expr Hax_engine.Prelude.list;
}
val impl_expr_ImplApp :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_ImplApp Hax_engine.Prelude.option
type impl_expr_Dyn = Hax_engine.Prelude.unit
val impl_expr_Dyn :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Dyn Hax_engine.Prelude.option
val impl_expr_Builtin :
Hax_engine__Ast.Make(InputLanguage).impl_expr ->
impl_expr_Builtin Hax_engine.Prelude.option