Skip to content

Commit 33c702c

Browse files
committed
---
yaml --- r: 885 b: refs/heads/master c: 91b1885 h: refs/heads/master i: 883: 91bc977 v: v3
1 parent 4de34c8 commit 33c702c

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

[refs]

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 199ff196aa1c90c865a40c96438335f84a00de4c
2+
refs/heads/master: 91b1885ba2a82cd1ac3701a71bb47bf6b7ddd8e9

trunk/src/boot/me/semant.ml

+5-2
Original file line numberDiff line numberDiff line change
@@ -997,16 +997,19 @@ let rec pretty_ty_str (cx:ctxt) (fallback:(Ast.ty -> string)) (ty:Ast.ty) =
997997
in
998998
let fields = Array.to_list (Array.map format_field fields) in
999999
"rec(" ^ (String.concat ", " fields) ^ ")"
1000-
| Ast.TY_fn (fnsig, _) ->
1000+
| Ast.TY_fn (fnsig, aux) ->
10011001
let format_slot slot =
10021002
match slot.Ast.slot_ty with
10031003
None -> Common.bug () "no ty in slot"
10041004
| Some ty' -> pretty_ty_str cx fallback ty'
10051005
in
1006+
let effect = aux.Ast.fn_effect in
1007+
let qual = Fmt.sprintf_fmt Ast.fmt_effect_qual () effect in
1008+
let keyword = if aux.Ast.fn_is_iter then "iter" else "fn" in
10061009
let fn_args = Array.map format_slot fnsig.Ast.sig_input_slots in
10071010
let fn_args_str = String.concat ", " (Array.to_list fn_args) in
10081011
let fn_rv_str = format_slot fnsig.Ast.sig_output_slot in
1009-
Printf.sprintf "fn(%s) -> %s" fn_args_str fn_rv_str
1012+
Printf.sprintf "%s%s(%s) -> %s" qual keyword fn_args_str fn_rv_str
10101013
| Ast.TY_tag { Ast.tag_id = tag_id; Ast.tag_args = _ }
10111014
when Hashtbl.mem cx.ctxt_user_tag_names tag_id ->
10121015
let name = Hashtbl.find cx.ctxt_user_tag_names tag_id in

0 commit comments

Comments
 (0)