Revision d3da5afa461f556dd7d13610676d96c37ec59375 authored by Pierre-Yves Strub on 21 October 2022, 15:19:36 UTC, committed by Pierre-Yves Strub on 26 October 2022, 10:47:29 UTC
When checking for module convertibility, check the computed module flat expression (i.e. all module aliases have been resolved), not the module expression. Fix #292
1 parent c8bea89
ecHiInductive.mli
(* -------------------------------------------------------------------- *)
open EcSymbols
open EcIdent
open EcParsetree
open EcInductive
open EcEnv
(* -------------------------------------------------------------------- *)
type rcerror =
| RCE_TypeError of EcTyping.tyerror
| RCE_DuplicatedField of symbol
| RCE_InvalidFieldType of symbol * EcTyping.tyerror
| RCE_Empty
type dterror =
| DTE_TypeError of EcTyping.tyerror
| DTE_DuplicatedCtor of symbol
| DTE_InvalidCTorType of symbol * EcTyping.tyerror
| DTE_NonPositive
| DTE_Empty
type fxerror =
| FXLowError of EcTyping.tyerror
| FXError of EcTyping.fxerror
(* -------------------------------------------------------------------- *)
exception RcError of EcLocation.t * EcEnv.env * rcerror
exception DtError of EcLocation.t * EcEnv.env * dterror
exception FxError of EcLocation.t * EcEnv.env * fxerror
(* -------------------------------------------------------------------- *)
val rcerror : EcLocation.t -> EcEnv.env -> rcerror -> 'a
val dterror : EcLocation.t -> EcEnv.env -> dterror -> 'a
val fxerror : EcLocation.t -> EcEnv.env -> EcTyping.fxerror -> 'a
(* -------------------------------------------------------------------- *)
val trans_record : env -> ptydname -> precord -> record
(* -------------------------------------------------------------------- *)
val trans_datatype : env -> ptydname -> pdatatype -> datatype
(* -------------------------------------------------------------------- *)
type matchfix_t = {
mf_name : ident;
mf_codom : EcTypes.ty;
mf_args : (ident * EcTypes.ty) list;
mf_recs : int list;
mf_branches : EcDecl.opbranches;
}
val trans_matchfix :
?close:bool
-> EcEnv.env
-> EcUnify.unienv
-> psymbol
-> ptybindings * pty * pop_branch list
-> EcTypes.ty * matchfix_t
Computing file changes ...