Sample Code from WWDC video does not compile.

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:

  1. 'each' cannot be applied to non-pack type '(repeat each Request)'
  2. Pack expansion requires that 'each Request' and '()' have the same shape

Please advise.

Post not yet marked as solved Up vote post of seanwoodward Down vote post of seanwoodward
797 views