Async Result: свернуть await в Result 🛟
🔥 SE-0530 «Async Result Support» (Swift 6.4) добавляет async-перегрузку init(catching:), так что асинхронная работа сворачивается в Result без рукописного do/catch: await Result { try await load(feed) }. Типизированные throws протаскиваются: Failure выводится из того, что реально бросает тело. Если тело нетипизированное — будет any Error.
⚠️ Никакого спецкейса для отмены нет: брошенный CancellationError попадёт в .failure наравне с любой другой ошибкой. Тело реализации буквально do { self = .success(try await body()) } catch { self = .failure(error) }. Мелочь для тех, кто смотрит сигнатуры: и инициализатор, и замыкание помечены nonisolated(nonsending), а Successможет быть ~Copyable.