diff options
Diffstat (limited to 'compiler/Pure.ml')
-rw-r--r-- | compiler/Pure.ml | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/compiler/Pure.ml b/compiler/Pure.ml index 33c23cc3..cf6710aa 100644 --- a/compiler/Pure.ml +++ b/compiler/Pure.ml @@ -283,7 +283,7 @@ type ty = | TVar of type_var_id | TLiteral of literal_type | TArrow of ty * ty - | TTraitType of trait_ref * generic_args * string + | TTraitType of trait_ref * string (** The string is for the name of the associated type *) and trait_ref = { @@ -374,7 +374,6 @@ type generic_params = { type trait_type_constraint = { trait_ref : trait_ref; - generics : generic_args; type_name : trait_item_name; ty : ty; } @@ -599,8 +598,7 @@ type qualif_id = | Global of global_decl_id | AdtCons of adt_cons_id (** A function or ADT constructor identifier *) | Proj of projection (** Field projector *) - | TraitConst of trait_ref * generic_args * string - (** A trait associated constant *) + | TraitConst of trait_ref * string (** A trait associated constant *) [@@deriving show] (** An instantiated qualifier. @@ -1089,6 +1087,26 @@ type fun_decl = { } [@@deriving show] +type global_decl = { + meta : meta; + def_id : GlobalDeclId.id; + is_local : bool; + llbc_name : llbc_name; (** The original LLBC name. *) + name : string; + (** We use the name only for printing purposes (for debugging): + the name used at extraction time will be derived from the + llbc_name. + *) + llbc_generics : Types.generic_params; + (** See the comment for [llbc_generics] in fun_decl. *) + generics : generic_params; + preds : predicates; + ty : ty; + kind : item_kind; + body_id : FunDeclId.id; +} +[@@deriving show] + type trait_decl = { def_id : trait_decl_id; is_local : bool; |