# `type.match_some_non_optional`

Nullable pattern on a value that is never none.

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

```jadpo
function describe(label: Label) -> Label {
    return match label {
        some(name) -> name
        _ -> label
    }
}
```

```text
error: `label` is never `none`, so `some(...)` can't match it
 --> main.jadpo:3:9
  |
3 |         some(name) -> name
  |         ^^^^^^^^^^ for nullable values
  reason: `some(name)` and `none` match a nullable value, written `T?`; `label` is a `Label`.
  next: Use `label` directly: it always has a value (agent)
  rule: type.match_some_non_optional
  help: https://jadpo.dev/docs/errors/type.match_some_non_optional

check failed: 1 error, 2 files
```
