# Semantic rules for break continue and return

## Learning objective
- Understand contextual validity for `break`, `continue`, and `return`.

## Key syntax
```lucia
while (active) {
    if (condition) { break; }
    if (other) { continue; }
}

func evaluate(x: int): int {
    return x;
}
```

## Key rules
- `break` and `continue` are valid only inside loops.
- `return` is valid only inside functions/methods.
- A semantic error may appear even when syntax is valid.

## Common mistakes
- `break` outside `while/for/do-while`.
- `continue` outside loops.
- `return` in global scope.

## Suggested practice
- Trigger each error and fix the minimal context.

## Related
- syntax-control-flow
- diagnostics
- functions-and-builtins
