---
title: Publishers.RemoveDuplicates
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/removeduplicates
---

# Publishers.RemoveDuplicates

A publisher that publishes only elements that don’t match the previous element.

## Declaration

```swift
struct RemoveDuplicates<Upstream> where Upstream : Publisher
```

## Topics

### Creating a remove duplicates publisher

- [init(upstream:predicate:)](combine/publishers/removeduplicates/init(upstream:predicate:).md)

### Declaring supporting types

- [Publishers.RemoveDuplicates.Output](combine/publishers/removeduplicates/output.md)
- [Publishers.RemoveDuplicates.Failure](combine/publishers/removeduplicates/failure.md)

### Inspecting publisher properties

- [upstream](combine/publishers/removeduplicates/upstream.md)
- [predicate](combine/publishers/removeduplicates/predicate.md)

## Relationships

### Conforms To

- [Publisher](combine/publisher.md)

## See Also

### Filtering elements

- [Publishers.Filter](combine/publishers/filter.md)
- [Publishers.TryFilter](combine/publishers/tryfilter.md)
- [Publishers.CompactMap](combine/publishers/compactmap.md)
- [Publishers.TryCompactMap](combine/publishers/trycompactmap.md)
- [Publishers.TryRemoveDuplicates](combine/publishers/tryremoveduplicates.md)
- [Publishers.ReplaceEmpty](combine/publishers/replaceempty.md)
- [Publishers.ReplaceError](combine/publishers/replaceerror.md)
