diff options
| author | Lasse Blaauwbroek | 2018-09-20 21:05:19 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2018-10-11 18:45:05 +0200 |
| commit | 74f8e4b04f59c79fc2320b63f7d8c0cb4de69e2b (patch) | |
| tree | ae1bec8b4f9f16243d4b32da9aabe13103ae5896 /interp | |
| parent | ca0f034f5b26132f540e0018db09046d8efc5be9 (diff) | |
Check that lambda/prod ast's have proper binders during interning/printing.
Diffstat (limited to 'interp')
| -rw-r--r-- | interp/constrintern.ml | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml index d02f59414e..d7497d4e8e 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -1863,12 +1863,11 @@ let internalize globalenv env pattern_mode (_, ntnvars as lvar) c = Array.map (fun (bl,_,_) -> bl) idl, Array.map (fun (_,ty,_) -> ty) idl, Array.map (fun (_,_,bd) -> bd) idl) + | CProdN ([],c2) -> anomaly (Pp.str "The AST is malformed, found prod without binders.") | CProdN (bl,c2) -> let (env',bl) = List.fold_left intern_local_binder (env,[]) bl in expand_binders ?loc mkGProd bl (intern_type env' c2) - | CLambdaN ([],c2) -> - (* Such a term is built sometimes: it should not change scope *) - intern env c2 + | CLambdaN ([],c2) -> anomaly (Pp.str "The AST is malformed, found lambda without binders.") | CLambdaN (bl,c2) -> let (env',bl) = List.fold_left intern_local_binder (reset_tmp_scope env,[]) bl in expand_binders ?loc mkGLambda bl (intern env' c2) |
