---
title: Observations
framework: observation
role: symbol
role_heading: Structure
path: observation/observations
---

# Observations

An asynchronous sequence generated from a closure that tracks the transactional changes of @Observable types.

## Declaration

```swift
struct Observations<Element, Failure> where Element : Sendable, Failure : Error
```

## Overview

Overview Observations conforms to AsyncSequence, providing an intuitive and safe mechanism to track changes to types that are marked as @Observable by using Swift Concurrency to indicate transactional boundaries starting from the willSet of the first mutation to the next suspension point of the safe access.

## Topics

### Structures

- [Observations.Iterator](observation/observations/iterator.md)

### Initializers

- [init(_:)](observation/observations/init(_:).md)

### Type Methods

- [untilFinished(_:)](observation/observations/untilfinished(_:).md)

### Enumerations

- [Observations.Iteration](observation/observations/iteration.md)

## Relationships

### Conforms To

- [AsyncSequence](swift/asyncsequence.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
