I have a setup like this with an error shown below
enum DataError: Error { case failed(error: Error) } enum UIError: Error { case failed(error: Error) } struct SomeData { } func foo() -> AnyPublisher<Result<[SomeData]?, DataError>, Never> { ... } func foo2() -> AnyPublisher<Result<[SomeData]?, UIError>, Never> { return foo() .mapError { error -> UIError switch error { .... } return UIError.failed(error: $0) } .eraseToAnyPublisher() ===> // Error Cannot convert return expression of type 'AnyPublisher<Result<[SomeData]?, DataError>, UIError>' to return type 'AnyPublisher<Result<[T], UIError>, Never>' } The error message seem pretty straight forward but cant quite resolve it.
foo()this is largely pointless, as your code can never be tested in the compiler.