Commits

camlspotter committed 501edb0

fix

  • Participants
  • Parent commits 3ec7a4b
  • Branches dcaml

Comments (0)

Files changed (3)

File boot/ocamlc

Binary file modified.

File dcamltests/Makefile.targets

 nodes.cmo \
 nodes_resolve.cmo \
 non_dabstractable.cmo \
+non_generalizable_error.cmo \
 oo001.cmo \
 oo002.cmo \
 opvar.cmo \
+pat_const.cmo \
+pat_const_error.cmo \
 rec.cmo \
 rec_error.cmo \
 record.cmo \

File typing/typecore.ml

 module Dispatch = Dispatch.Make(D)
 
 let rec type_exp env sexp =
+  Dispatch.apply env (type_exp_ env sexp)
+
+and type_exp_ env sexp = 
   (* We now delegate everything to type_expect *)
-  let e = type_expect env sexp (newvar ()) in
-  Dispatch.apply env e
+  type_expect env sexp (newvar ())
 
 (* Typing of an expression with an expected type.
    This provide better error messages, and allows controlled
   | Pexp_apply(sfunct, sargs) ->
       begin_def (); (* one more level for non-returning functions *)
       if !Clflags.principal then begin_def ();
-      let funct = type_exp env sfunct in (* no $label:t -> elimination *)
+      let funct = type_exp_ env sfunct in (* no $label:t -> elimination *)
       if !Clflags.principal then begin
         end_def ();
         generalize_structure funct.exp_type