The sample code below does not compile:
protocol RequestProtocol {
associatedtype Input
associatedtype Output
func evaluate(_: Input) -> Output
}
struct Evaluator<each Request: RequestProtocol> {
let item: (repeat each Request)
func query(_ input: repeat (each Request).Input) -> (repeat (each Request).Output) {
return (repeat (each item).evaluate(each input))
}
}
Code causes two compiler errors:
- 'each' cannot be applied to non-pack type '(repeat each Request)'
- Pack expansion requires that 'each Request' and '()' have the same shape
Please advise.