---
title: Result.Publisher
framework: swift
role: symbol
role_heading: Structure
path: swift/result/publisher-swift.struct
---

# Result.Publisher

The type of a Combine publisher that publishes this instance’s result to each subscriber exactly once, or fails immediately if the result indicates failure.

## Declaration

```swift
struct Publisher
```

## Overview

Overview If the result is Swift/Result/success, then the publisher waits until it receives a request for at least one value, then sends the output to all subscribers and finishes normally. If the result is /Swift/Result/failure, then the publisher sends the failure immediately upon subscription. This latter behavior is a contrast with Just, which always publishes a single value.

## Topics

### Creating a Result Publisher

- [init(_:)](swift/result/publisher-swift.struct/init(_:)-516t.md)
- [init(_:)](swift/result/publisher-swift.struct/init(_:)-69fv4.md)
- [init(_:)](swift/result/publisher-swift.struct/init(_:)-7t2tt.md)

### Inspecting Publisher Properties

- [result](swift/result/publisher-swift.struct/result.md)

### Instance Methods

- [allSatisfy(_:)](swift/result/publisher-swift.struct/allsatisfy(_:).md)
- [collect()](swift/result/publisher-swift.struct/collect().md)
- [contains(_:)](swift/result/publisher-swift.struct/contains(_:).md)
- [contains(where:)](swift/result/publisher-swift.struct/contains(where:).md)
- [count()](swift/result/publisher-swift.struct/count().md)
- [first()](swift/result/publisher-swift.struct/first().md)
- [ignoreOutput()](swift/result/publisher-swift.struct/ignoreoutput().md)
- [last()](swift/result/publisher-swift.struct/last().md)
- [map(_:)](swift/result/publisher-swift.struct/map(_:).md)
- [mapError(_:)](swift/result/publisher-swift.struct/maperror(_:).md)
- [max()](swift/result/publisher-swift.struct/max().md)
- [max(by:)](swift/result/publisher-swift.struct/max(by:).md)
- [min()](swift/result/publisher-swift.struct/min().md)
- [min(by:)](swift/result/publisher-swift.struct/min(by:).md)
- [reduce(_:_:)](swift/result/publisher-swift.struct/reduce(_:_:).md)
- [removeDuplicates()](swift/result/publisher-swift.struct/removeduplicates().md)
- [removeDuplicates(by:)](swift/result/publisher-swift.struct/removeduplicates(by:).md)
- [replaceEmpty(with:)](swift/result/publisher-swift.struct/replaceempty(with:).md)
- [replaceError(with:)](swift/result/publisher-swift.struct/replaceerror(with:).md)
- [retry(_:)](swift/result/publisher-swift.struct/retry(_:).md)
- [scan(_:_:)](swift/result/publisher-swift.struct/scan(_:_:).md)
- [setFailureType(to:)](swift/result/publisher-swift.struct/setfailuretype(to:).md)
- [tryAllSatisfy(_:)](swift/result/publisher-swift.struct/tryallsatisfy(_:).md)
- [tryContains(where:)](swift/result/publisher-swift.struct/trycontains(where:).md)
- [tryMap(_:)](swift/result/publisher-swift.struct/trymap(_:).md)
- [tryMax(by:)](swift/result/publisher-swift.struct/trymax(by:).md)
- [tryMin(by:)](swift/result/publisher-swift.struct/trymin(by:).md)
- [tryReduce(_:_:)](swift/result/publisher-swift.struct/tryreduce(_:_:).md)
- [tryRemoveDuplicates(by:)](swift/result/publisher-swift.struct/tryremoveduplicates(by:).md)
- [tryScan(_:_:)](swift/result/publisher-swift.struct/tryscan(_:_:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Publisher](combine/publisher.md)

## See Also

### Publishing a Result

- [publisher](swift/result/publisher-swift.property.md)
