From a2e1be0346c364c4327dc2b81bbcdeca12414dab Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 20 Jul 2019 13:59:18 -0400 Subject: [PATCH] docs: don't try to run the undefined behavior example test --- doc/langref.html.in | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/langref.html.in b/doc/langref.html.in index b5fe464c35..2372d32afa 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -8990,8 +8990,7 @@ pub fn assert(ok: bool) void { This means that when testing in ReleaseFast or ReleaseSmall mode, {#syntax#}assert{#endsyntax#} is not sufficient to check the result of a computation:

- {#code_begin|test|assert#} - {#code_release_fast#} + {#code_begin|syntax#} const std = @import("std"); const assert = std.debug.assert; @@ -8999,9 +8998,11 @@ test "assert in release fast mode" { assert(false); } {#code_end#} -

Note that although the above example shows the test passing, this is invoking - unchecked {#link|Undefined Behavior#}. This documentation is showing only one possible - outcome of this test.

+

+ When compiling this test in {#link|ReleaseFast#} mode, it invokes unchecked + {#link|Undefined Behavior#}. Since that could do anything, this documentation + cannot show you the output. +

Better practice for checking the output when testing is to use {#syntax#}std.testing.expect{#endsyntax#}: