summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--typing/env.ml7
-rw-r--r--typing/printtyp.ml2
-rw-r--r--typing/stypes.ml3
3 files changed, 8 insertions, 4 deletions
diff --git a/typing/env.ml b/typing/env.ml
index 2cd877fbd2..9f61482249 100644
--- a/typing/env.ml
+++ b/typing/env.ml
@@ -692,6 +692,13 @@ let iter_env proj1 proj2 f env =
comps.comp_components
| Functor_comps _ -> ()
in
+ Hashtbl.iter
+ (fun s pso ->
+ match pso with None -> ()
+ | Some ps ->
+ let id = Pident (Ident.create_persistent s) in
+ iter_components id id ps.ps_comps)
+ persistent_structures;
Ident.iter
(fun id ((path, comps), _) -> iter_components (Pident id) path comps)
env.components
diff --git a/typing/printtyp.ml b/typing/printtyp.ml
index 04fc0ee7b1..b5ea284634 100644
--- a/typing/printtyp.ml
+++ b/typing/printtyp.ml
@@ -229,7 +229,7 @@ let rec normalize_type_path ?(cache=false) env p =
begin match repr ty with
{desc = Tconstr (p1, tyl, _)} ->
let tyl = List.map repr tyl in
- if List.length desc.type_params = List.length tyl
+ if List.length params = List.length tyl
&& List.for_all2 (==) params tyl
then normalize_type_path ~cache env p1
else if cache || List.length params <= List.length tyl
diff --git a/typing/stypes.ml b/typing/stypes.ml
index 49f0e89590..0e67340f68 100644
--- a/typing/stypes.ml
+++ b/typing/stypes.ml
@@ -156,8 +156,6 @@ let get_info () =
let dump filename =
if !Clflags.annotations then begin
- let real = !Clflags.real_paths in
- Clflags.real_paths := true;
let info = get_info () in
let pp =
match filename with
@@ -166,7 +164,6 @@ let dump filename =
sort_filter_phrases ();
ignore (List.fold_left (print_info pp) Location.none info);
phrases := [];
- Clflags.real_paths := real
end else begin
annotations := [];
end;