# Do we need an @assert?

**URL:** <https://ziggit.dev/t/do-we-need-an-assert/13447>\
**Category:** Brainstorming\
**Tags:** language\
**Created:** [December 9, 2025, 1:02pm UTC](https://ziggit.dev/t/do-we-need-an-assert/13447 "2025-12-09T13:02:34Z")\
**Posts on this page:** 1\
**Showing post:** 46

<div class="post-metadata">

**Author:** ![GigaGrunch](https://ziggit.dev/user_avatar/ziggit.dev/gigagrunch/32/1823_2.png) [@GigaGrunch](https://ziggit.dev/u/GigaGrunch)\
**Post date:** [December 11, 2025, 8:52am UTC](https://ziggit.dev/t/do-we-need-an-assert/13447/46 "2025-12-11T08:52:01Z")

</div>

Side effects are well defined in Zig: [Key semantics of std.debug.assert - #9 by andrewrk](https://ziggit.dev/t/key-semantics-of-std-debug-assert/11123/9)

> [@Key semantics of std.debug.assert](https://ziggit.dev/t/key-semantics-of-std-debug-assert/11123/9):
>
> Complete, exhaustive list of all side effects:
> 
> - loading through a `volatile` pointer
> - storing through a `volatile` pointer
> - inline assembly with `volatile` keyword
> - atomics with `volatile` pointers
> - calling an extern function
> - `@panic`, `@trap`, `@breakpoint`
> - `unreachable` in safe optimization modes (equivalent to `@panic`)

---

_[View the full topic](https://ziggit.dev/t/do-we-need-an-assert/13447)._
