--- typing/typer.ml 2007/07/10 17:08:07 123 +++ typing/typer.ml 2007/07/10 17:08:19 124 @@ -521,6 +521,10 @@ if Types.Record.is_empty rconstr then raise_loc loc (ShouldHave (constr,"but it is a record.")); +(* Completely buggy ! Need to check at the end that all required labels + are present ...A better to do it without precise = true ? *) + let precise = true in + let (rconstr,res) = List.fold_left (fun (rconstr,res) (l,e) -> @@ -543,6 +547,7 @@ (rconstr,res) ) (rconstr, if precise then Types.Record.any else constr) r in +(* check loc res constr ""; *) res | Map (e,b) -> @@ -779,6 +784,10 @@ Types.empty | "print_xml", [loc1,t1] -> Sequence.string + | "print", [loc1,t1] -> + check loc1 t1 Sequence.string + "The argument of print"; + t1 | "int_of", [loc1,t1] -> check loc1 t1 Sequence.string "The argument of int_of must a string";