---
title: PassthroughSubject
framework: combine
role: symbol
role_heading: Class
path: combine/passthroughsubject
---

# PassthroughSubject

A subject that broadcasts elements to downstream subscribers.

## Declaration

```swift
final class PassthroughSubject<Output, Failure> where Failure : Error
```

## Mentioned in

Using Combine for Your App’s Asynchronous Code

## Overview

Overview As a concrete implementation of Subject, the PassthroughSubject provides a convenient way to adapt existing imperative code to the Combine model. Unlike CurrentValueSubject, a PassthroughSubject doesn’t have an initial value or a buffer of the most recently-published element. A PassthroughSubject drops values if there are no subscribers, or its current demand is zero.

## Topics

### Creating a passthrough subject

- [init()](combine/passthroughsubject/init().md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)
- [Subject](combine/subject.md)

## See Also

### Subjects

- [Subject](combine/subject.md)
- [CurrentValueSubject](combine/currentvaluesubject.md)
