---
title: XCTWaiter.Result
framework: xctest
role: symbol
role_heading: Enumeration
path: xctest/xctwaiter/result
---

# XCTWaiter.Result

Result states returned by a waiter when it completes, times out, fails, or is interrupted.

## Declaration

```swift
enum Result
```

## Topics

### Result States

- [XCTWaiter.Result.completed](xctest/xctwaiter/result/completed.md)
- [XCTWaiter.Result.timedOut](xctest/xctwaiter/result/timedout.md)
- [XCTWaiter.Result.incorrectOrder](xctest/xctwaiter/result/incorrectorder.md)
- [XCTWaiter.Result.invertedFulfillment](xctest/xctwaiter/result/invertedfulfillment.md)
- [XCTWaiter.Result.interrupted](xctest/xctwaiter/result/interrupted.md)

### Initializers

- [init(rawValue:)](xctest/xctwaiter/result/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Waiting for Expectations

- [fulfillment(of:timeout:enforceOrder:)](xctest/xctwaiter/fulfillment(of:timeout:enforceorder:)-swift.method.md)
- [wait(for:)](xctest/xctwaiter/wait(for:)-swift.method.md)
- [wait(for:enforceOrder:)](xctest/xctwaiter/wait(for:enforceorder:)-swift.method.md)
- [wait(for:timeout:)](xctest/xctwaiter/wait(for:timeout:)-swift.method.md)
- [wait(for:timeout:enforceOrder:)](xctest/xctwaiter/wait(for:timeout:enforceorder:)-swift.method.md)
- [fulfillment(of:timeout:enforceOrder:)](xctest/xctwaiter/fulfillment(of:timeout:enforceorder:)-swift.type.method.md)
- [wait(for:)](xctest/xctwaiter/wait(for:)-swift.type.method.md)
- [wait(for:enforceOrder:)](xctest/xctwaiter/wait(for:enforceorder:)-swift.type.method.md)
- [wait(for:timeout:)](xctest/xctwaiter/wait(for:timeout:)-swift.type.method.md)
- [wait(for:timeout:enforceOrder:)](xctest/xctwaiter/wait(for:timeout:enforceorder:)-swift.type.method.md)
