func send( operation: consuming @escaping () async -> Void ) async { await withoutActuallyEscaping(operation) { (_) in } }
func send( operation: consuming @escaping () async -> Void ) async { let x = operation await withoutActuallyEscaping(x) { (_) in } }
↑これはコンパイルできるのにfunc send( operation: consuming @escaping () async -> Void ) async { var x = operation await withoutActuallyEscaping(x) { (_) in } }
↑これはクラッシュしますvar x
は、内部で lvalue として扱われるはずなので、var x
を lvalue 扱いするのが間違いってことはないはずなんで。