---
title: Publishers.TryRemoveDuplicates
framework: combine
role: symbol
role_heading: Structure
path: combine/publishers/tryremoveduplicates
---

# Publishers.TryRemoveDuplicates

A publisher that publishes only elements that don’t match the previous element, as evaluated by a provided error-throwing closure.

## Declaration

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

## Topics

### Creating a try-remove-duplicates publisher

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

### Declaring supporting types

- [Publishers.Output](combine/publishers/output.md)

### Inspecting publisher properties

- [upstream](combine/publishers/tryremoveduplicates/upstream.md)
- [predicate](combine/publishers/tryremoveduplicates/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.RemoveDuplicates](combine/publishers/removeduplicates.md)
- [Publishers.ReplaceEmpty](combine/publishers/replaceempty.md)
- [Publishers.ReplaceError](combine/publishers/replaceerror.md)
