你好,Ladislav
这个问题与cljs或test.check没有直接关系。
它与go
宏有关。
go
宏会重写它的主体。
您可以在repl中运行代码(macroexpand '(go 1))
来查看它。
即使是简单的形式,如1
,也会变成一个更大的形式,包含大量的"状态机"和其他内容。
1
就会变成一个约2千字符长的形式。
更复杂的形式,如(go (inc (<! (go 1))))
,将变成约4千字符。
并且它会不断增长。
在某些情况下,这种“扩展Go代码”会变得很大,导致StackOverflow或其他奇怪的解析器错误。
在您的情况下,testing
/ is
宏会展开成大量的代码,因此您很快就会有一个“太长”的形式。