Then theoretically this 'workaround' might be valid?
protocol P {
static func foo() -> Self
}
enum E: P {
case foo(Void = ())
}
At least I get the impression from this part of the mini-manifesto:
I'm not saying that case foo()
is meaningful, but if the above workaround works through the combination of the quoted functionality (if accepted and implemented) + this pitch, why not relax the enum the enum case rules a little and allow it!? However this really depends if there is a real need from the community to allow exactly this protocol requirement satisfaction. Personally I'm neutral on this particular example. Even though the workaround is too clever, it would do the trick if it's really necessary for someone.