Skip to content

Commit

Permalink
clarify assert doc entry (#45998)
Browse files Browse the repository at this point in the history
Co-authored-by: Jameson Nash <vtjnash@gmail.com>
Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com>
  • Loading branch information
3 people authored and pull[bot] committed Dec 20, 2023
1 parent de2f679 commit cb9b31f
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions base/error.jl
Original file line number Diff line number Diff line change
Expand Up @@ -197,15 +197,17 @@ windowserror(p, code::UInt32=Libc.GetLastError(); extrainfo=nothing) = throw(Mai
"""
@assert cond [text]
Throw an [`AssertionError`](@ref) if `cond` is `false`. Preferred syntax for writing assertions.
Message `text` is optionally displayed upon assertion failure.
Throw an [`AssertionError`](@ref) if `cond` is `false`. This is the preferred syntax for
writing assertions, which are conditions that are assumed to be true, but that the user
might decide to check anyways, as an aid to debugging if they fail.
The optional message `text` is displayed upon assertion failure.
!!! warning
An assert might be disabled at various optimization levels.
An assert might be disabled at some optimization levels.
Assert should therefore only be used as a debugging tool
and not used for authentication verification (e.g., verifying passwords),
nor should side effects needed for the function to work correctly
be used inside of asserts.
and not used for authentication verification (e.g., verifying passwords or checking array bounds).
The code must not rely on the side effects of running `cond` for the correct behavior
of a function.
# Examples
```jldoctest
Expand Down

0 comments on commit cb9b31f

Please sign in to comment.