tl; dr
Можно ли создать экземпляр универсального члена перечисления Swift 4 со связанным значением типа Void
?
Фон
Я использую простое перечисление Result (похожее на antitypical Result):
enum Result<T> {
case success(T)
case error(Error?)
}
Теперь я хотел бы использовать это перечисление для представления результата операции, которая не дает фактического значения результата; операция либо выполнена, либо не удалась. Для этого я бы определил тип как Result<Void>
, но я борюсь с тем, как создать экземпляр Result, ни let res: Result<Void> = .success
, ни let res: Result<Void> = .success()
не работают.
Missing argument for parameter #1 in call
. - person dr_barto   schedule 23.08.2017let f = Result<Void>.success
имеет тип(Void) -> Result<Void>
как в Swift 3, так и в 4b5. В Swift 3 вы можете вызыватьlet r = f()
, в 4b5 вам нужно добавить аргумент:let r = f(())
- person Martin R   schedule 23.08.2017