aboutsummaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/declare.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/library/declare.ml b/library/declare.ml
index 5508432679..c756d6169f 100644
--- a/library/declare.ml
+++ b/library/declare.ml
@@ -10,6 +10,8 @@ open Sign
open Constant
open Inductive
open Reduction
+open Type_errors
+open Typeops
open Libobject
open Lib
open Impargs
@@ -233,8 +235,10 @@ let global_operator sp id = construct_operator (Global.env()) sp id
let construct_reference env kind id =
let sp = Nametab.sp_of_id kind id in
try
- let (oper,_) = construct_operator env sp id in
- let hyps = Global.var_context () in
+ let (oper,hyps) = construct_operator env sp id in
+ let hyps' = Global.var_context () in
+ if not (hyps_inclusion env Evd.empty hyps hyps') then
+ error_reference_variables CCI env id;
let ids = ids_of_sign hyps in
DOPN(oper, Array.of_list (List.map (fun id -> VAR id) ids))
with Not_found ->