未使用属性 'explicit_arity'
Attribute 'explicit_arity' was not used
我正在尝试使用 Jane Street 的核心标准库和 Reason 语言前端进行编程。
所以我使用 corebuild
脚本并通过将 ocamlbuild
替换为 rebuild
将副本保存为 recorebuild
。但是我在处理一些简单的代码时遇到了问题。
这是失败的最小示例:
type t = Foo int | Bar;
let foobar f => switch f {
| Foo x => x
| Bar => 0
};
如果您尝试使用以下选项编译它,corebuild
添加的众多选项之一:
rebuild -tag "ppx(ppx-jane -as-ppx)" test.byte
然后你得到这个错误:
File "", line 0:
Attribute `explicit_arity' was not used
Command exited with code 2.
这是什么意思?
explicit_arity
是由 refmt
发出的属性,用于解决 OCaml 语法中关于变体的歧义。不幸的是它与 Jane St ppx 冲突,但如果您从 corebuild
脚本中删除 -tag "ppx(ppx-jane -as-ppx)"
它应该可以工作。
(注意:此信息来自 Reason Discord,我个人对此没有任何经验)
我正在尝试使用 Jane Street 的核心标准库和 Reason 语言前端进行编程。
所以我使用 corebuild
脚本并通过将 ocamlbuild
替换为 rebuild
将副本保存为 recorebuild
。但是我在处理一些简单的代码时遇到了问题。
这是失败的最小示例:
type t = Foo int | Bar;
let foobar f => switch f {
| Foo x => x
| Bar => 0
};
如果您尝试使用以下选项编译它,corebuild
添加的众多选项之一:
rebuild -tag "ppx(ppx-jane -as-ppx)" test.byte
然后你得到这个错误:
File "", line 0:
Attribute `explicit_arity' was not used
Command exited with code 2.
这是什么意思?
explicit_arity
是由 refmt
发出的属性,用于解决 OCaml 语法中关于变体的歧义。不幸的是它与 Jane St ppx 冲突,但如果您从 corebuild
脚本中删除 -tag "ppx(ppx-jane -as-ppx)"
它应该可以工作。
(注意:此信息来自 Reason Discord,我个人对此没有任何经验)