diff --git a/Sources/Core/Utilities/EmptyError.swift b/Sources/Core/Utilities/EmptyError.swift new file mode 100644 index 0000000..a59e359 --- /dev/null +++ b/Sources/Core/Utilities/EmptyError.swift @@ -0,0 +1,23 @@ +// +// EmptyError.swift +// RakuyoKit +// +// Created by Rakuyo on 2024/5/27. +// Copyright © 2024 RakuyoKit. All rights reserved. +// + +import Foundation + +public typealias NoErrorResult = Result + +// MARK: - EmptyError + +/// Placeholder when `.failure` is needed but `Error` is not needed +/// +/// `Result` means no error will occur, so `.failure` cannot be constructed in this case +/// But sometimes `.failure` is needed but it doesn't matter what kind of error is thrown. +/// It would be troublesome to construct a specific Error in this case. In this case, `EmptyError` can be used +public struct EmptyError: Error, ExpressibleByNilLiteral { + public init() { } + public init(nilLiteral _: ()) { } +}