summaryrefslogtreecommitdiff
path: root/compiler/Pure.ml
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Pure.ml')
-rw-r--r--compiler/Pure.ml26
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;