# `failure.outcome_pattern_invalid`

Outcome match arm has a pattern for values.

Area 3, [Logic](../topics/logic.md); not declinable; the next step is usually the agent's.

A `match` on a call's outcome has no patterns for values:


```jadpo
function lookup_label(key: LookupKey) -> LookupResult {
    return match lookup(key) {
        success(value) -> value
        LookupMissing -> "missing"
        LookupRefused -> "refused"
        none -> "nothing"
    }
}
```

```text
error: `none` can't match a call's outcome
 --> main.jadpo:6:9
  |
6 |         none -> "nothing"
  |         ^^^^ a pattern for values
  reason: A `match` on `lookup(...)` has a `success(name)` arm for its value and an arm for each failure it can give; to look at the value's own cases, match on the success value.
  next: Remove this arm, or match on the success value inside `success(...)` (agent)
  rule: failure.outcome_pattern_invalid
  help: https://jadpo.dev/docs/errors/failure.outcome_pattern_invalid

check failed: 1 error, 2 files
```
