<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Combine",
  "identifier" : "/documentation/Combine/Publishers/Merge8",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Combine"
    ],
    "preciseIdentifier" : "s:7Combine10PublishersO6Merge8V"
  },
  "title" : "Publishers.Merge8"
}
-->

# Publishers.Merge8

A publisher created by applying the merge function to eight upstream publishers.

```
struct Merge8<A, B, C, D, E, F, G, H> where A : Publisher, B : Publisher, C : Publisher, D : Publisher, E : Publisher, F : Publisher, G : Publisher, H : Publisher, A.Failure == B.Failure, A.Output == B.Output, B.Failure == C.Failure, B.Output == C.Output, C.Failure == D.Failure, C.Output == D.Output, D.Failure == E.Failure, D.Output == E.Output, E.Failure == F.Failure, E.Output == F.Output, F.Failure == G.Failure, F.Output == G.Output, G.Failure == H.Failure, G.Output == H.Output
```

## Topics

### Creating a merge-eight publisher

[`init(A, B, C, D, E, F, G, H)`](/documentation/Combine/Publishers/Merge8/init(_:_:_:_:_:_:_:_:))

Creates a publisher created by applying the merge function to eight upstream publishers.

### Declaring supporting types

[`typealias Output`](/documentation/Combine/Publishers/Merge8/Output)

The kind of values published by this publisher.

[`typealias Failure`](/documentation/Combine/Publishers/Merge8/Failure)

The kind of errors this publisher might publish.

### Inspecting publisher properties

[`let a: A`](/documentation/Combine/Publishers/Merge8/a)

A publisher to merge.

[`let b: B`](/documentation/Combine/Publishers/Merge8/b)

A second publisher to merge.

[`let c: C`](/documentation/Combine/Publishers/Merge8/c)

A third publisher to merge.

[`let d: D`](/documentation/Combine/Publishers/Merge8/d)

A fourth publisher to merge.

[`let e: E`](/documentation/Combine/Publishers/Merge8/e)

A fifth publisher to merge.

[`let f: F`](/documentation/Combine/Publishers/Merge8/f)

A sixth publisher to merge.

[`let g: G`](/documentation/Combine/Publishers/Merge8/g)

An seventh publisher to merge.

[`let h: H`](/documentation/Combine/Publishers/Merge8/h)

A eighth publisher to merge.

### Comparing publishers

[`static func == (Publishers.Merge8<A, B, C, D, E, F, G, H>, Publishers.Merge8<A, B, C, D, E, F, G, H>) -> Bool`](/documentation/Combine/Publishers/Merge8/==(_:_:))

Returns a Boolean value that indicates whether two publishers are equivalent.

### Default Implementations

[Equatable Implementations](/documentation/Combine/Publishers/Merge8/Equatable-Implementations)

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`Publisher`](/documentation/Combine/Publisher)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)