From 0fa0a19f15998e89e4b04150dd74529bbd406f42 Mon Sep 17 00:00:00 2001 From: Gabriel Scherer Date: Fri, 24 Feb 2017 22:30:23 -0500 Subject: [PATCH] 4.05 compatibility: use explicit module signatures In 4.05, checking for non-generalizable inference variable ('_a) (forbidden in toplevel modules and functors) happens before checking the .ml file against the .mli signature, so non-generalizable variables that were previously resolved through the .mli constraint are now underspecified and result in a compilation failure (see MPR#7414, GPR#929). This commit adds enough annotations to avoid such underspecified variables in functors. --- internal/unimap.ml | 2 +- public/uCharInfo.ml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/unimap.ml b/internal/unimap.ml index b6fdbde..6a7cc30 100644 --- a/internal/unimap.ml +++ b/internal/unimap.ml @@ -58,7 +58,7 @@ val of_name : string -> t end -module Make (Config : ConfigInt.Type) = struct +module Make (Config : ConfigInt.Type) : Type = struct type mapping = {no_char : int; tbl : Tbl31.Bytes.t} diff --git a/public/uCharInfo.ml b/public/uCharInfo.ml index 69bf141..6a0337a 100644 --- a/public/uCharInfo.ml +++ b/public/uCharInfo.ml @@ -298,7 +298,7 @@ val load_composition_exclusion_tbl : unit -> UCharTbl.Bool.t end -module Make (Config : ConfigInt.Type) = struct +module Make (Config : ConfigInt.Type) : Type = struct include Unidata.Make(Config) (* General category *)