class X::Composition::NotComposable is Exception { }

当尝试将类型组成到目标类型中时引发,但组合类型不能用于组合(角色和枚举通常是可以的)。

例如

class A { }
class B does A { }

使用

===SORRY!===
␤A is not composable, so B cannot compose it

因为 does 是为角色组合保留的,而 A 不是角色,也不是知道如何变成角色的东西。

解决方法是将 A 变成角色,或使用继承(class B is A { })。

方法§

方法 target-name§

method target-name(--> Str:D)

返回应该组成但失败的类型的名称。

方法 composer§

method composer(--> Mu)

返回应该组成到目标中但不是角色的类型。