Avatar
func apply<T, U>(fn: @escaping (T...) -> U, args: [T]) -> U { typealias Fn = ([T]) -> U return (fn as! Fn)(args) } let dict = apply(fn: Dictionary.init, args: ["a": 1, "b": 2, "c": 3].filter { $0.value % 2 == 0 }) print(dict) unsafeBitCastいらんかった