Clojure 2024状态调查!中分享您的想法。

欢迎!请查看关于页面以了解更多关于这个工作方式的信息。

0
Spec

问题:虽然multi-spec可以独立为已经实现方法的值生成重命名值,但是用户可以有目的地对重命名键进行不同的规格定义,从而使得multi-spec生成不兼容的值(导致such-that失败)。一个例子是层次调度,其中方法调度值不一定是有效的标签值。

建议解决方案:当生成重命名值时,multi-spec应首先尝试为该键尝试现有规格,并且只有在没有对该标签键的规格时,才直接从基于多方法的机制中生成交接值。

2 个回答

0

评论者:lgs32a

改进建议解决方案,使其同时涵盖“用户规格是调度值的一个子集”以及反之的情况。

0
参考:https://clojure.atlassian.net/browse/CLJ-2158(由lgs32a报告)
...