Index: ppx_tools-5.0-4.03.0/ast_mapper_class.ml =================================================================== --- ppx_tools-5.0-4.03.0.orig/ast_mapper_class.ml +++ ppx_tools-5.0-4.03.0/ast_mapper_class.ml @@ -335,6 +335,7 @@ module P = struct | Ppat_unpack s -> unpack ~loc ~attrs (map_loc sub s) | Ppat_exception p -> exception_ ~loc ~attrs (sub # pat p) | Ppat_extension x -> extension ~loc ~attrs (sub # extension x) + | Ppat_open (l, p) -> open_ ~loc ~attrs (map_loc sub l) (sub # pat p) end module CE = struct Index: ppx_tools-5.0-4.03.0/genlifter.ml =================================================================== --- ppx_tools-5.0-4.03.0.orig/genlifter.ml +++ ppx_tools-5.0-4.03.0/genlifter.ml @@ -49,8 +49,8 @@ module Main : sig end = struct let rec gen ty = if Hashtbl.mem printed ty then () else let tylid = Longident.parse ty in - let (_, td) = - try Env.lookup_type tylid env + let td = + try Env.find_type (Env.lookup_type tylid env) env with Not_found -> Format.eprintf "** Cannot resolve type %s@." ty; exit 2 Index: ppx_tools-5.0-4.03.0/rewriter.ml =================================================================== --- ppx_tools-5.0-4.03.0.orig/rewriter.ml +++ ppx_tools-5.0-4.03.0/rewriter.ml @@ -92,13 +92,13 @@ let () = | `Struct -> let pstr = Parse.implementation lexer in let pstr = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name - Config.ast_impl_magic_number pstr in + Pparse.Structure pstr in Pprintast.structure fmt pstr; Format.pp_print_newline fmt () | `Sig -> let psig = Parse.interface lexer in let psig = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name - Config.ast_intf_magic_number psig in + Pparse.Signature psig in Pprintast.signature fmt psig; Format.pp_print_newline fmt ()) with exn ->