# `type.match_arm_value`

Match arm gives no value.

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

```jadpo
action notify(outcome: PaymentOutcome) -> Unit {}

action receipt(outcome: PaymentOutcome) -> ReceiptId? {
    return match outcome {
        PaymentOutcome.pending -> none
        PaymentOutcome.paid -> {
            notify(outcome)
        }
    }
}
```

```text
error: This arm gives no value
 --> main.jadpo:6:9
  |
6 |         PaymentOutcome.paid -> {
  |         ^^^^^^^^^^^^^^^^^^^^^^^^ ends without a value
  reason: A `match` used as a value gives one from every arm: an expression, `reject` or `propagate`; this block can reach its end without leaving.
  next: Write the arm's value after `->`, or end the block with `return` or `reject` (agent)
  rule: type.match_arm_value
  help: https://jadpo.dev/docs/errors/type.match_arm_value

check failed: 1 error, 2 files
```
