diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-02-10 11:03:17 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-02-10 11:03:17 -0500 |
| commit | bcbcb2e9ffbfef63d3692ea45eea2e2babacc3a9 (patch) | |
| tree | 48f4df2e6ce5e12077743a84433c4c2537dd4fc2 /doc/langref.html.in | |
| parent | 1864acd32608ae917f8afc11b11f08a4bb362cef (diff) | |
| parent | 2f9fedabf0805a47aba5c348e5369c1c28f6cf21 (diff) | |
| download | zig-bcbcb2e9ffbfef63d3692ea45eea2e2babacc3a9.tar.gz zig-bcbcb2e9ffbfef63d3692ea45eea2e2babacc3a9.zip | |
Merge remote-tracking branch 'origin/master' into llvm8
Diffstat (limited to 'doc/langref.html.in')
| -rw-r--r-- | doc/langref.html.in | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/doc/langref.html.in b/doc/langref.html.in index 2cd35c2f4e..779eb6a31b 100644 --- a/doc/langref.html.in +++ b/doc/langref.html.in @@ -6381,14 +6381,14 @@ fn List(comptime T: type) type { {#header_close#} {#header_open|@truncate#} - <pre>{#syntax#}@truncate(comptime T: type, integer) T{#endsyntax#}</pre> + <pre>{#syntax#}@truncate(comptime T: type, integer: var) T{#endsyntax#}</pre> <p> This function truncates bits from an integer type, resulting in a smaller integer type. </p> <p> - The following produces a crash in debug mode and undefined behavior in - release mode: + The following produces a crash in {#link|Debug#} mode and {#link|Undefined Behavior#} in + {#link|ReleaseFast#} mode: </p> <pre>{#syntax#}const a: u16 = 0xabcd; const b: u8 = u8(a);{#endsyntax#}</pre> @@ -6402,7 +6402,10 @@ const b: u8 = @truncate(u8, a); This function always truncates the significant bits of the integer, regardless of endianness on the target platform. </p> - + <p> + If {#syntax#}T{#endsyntax#} is {#syntax#}comptime_int{#endsyntax#}, + then this is semantically equivalent to an {#link|implicit cast|Implicit Casts#}. + </p> {#header_close#} {#header_open|@typeId#} @@ -7870,7 +7873,7 @@ TopLevelComptime <- KEYWORD_comptime BlockExpr TopLevelDecl <- (KEYWORD_export / KEYWORD_extern STRINGLITERAL? / KEYWORD_inline)? FnProto (SEMICOLON / Block) - / (KEYWORD_export / KEYWORD_extern STRINGLITERAL?)? VarDecl + / (KEYWORD_export / KEYWORD_extern STRINGLITERAL?)? KEYWORD_threadlocal? VarDecl / KEYWORD_use Expr SEMICOLON FnProto <- FnCC? KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? LinkSection? EXCLAMATIONMARK? (KEYWORD_var / TypeExpr) @@ -8330,6 +8333,7 @@ KEYWORD_struct <- 'struct' end_of_word KEYWORD_suspend <- 'suspend' end_of_word KEYWORD_switch <- 'switch' end_of_word KEYWORD_test <- 'test' end_of_word +KEYWORD_threadlocal <- 'threadlocal' end_of_word KEYWORD_true <- 'true' end_of_word KEYWORD_try <- 'try' end_of_word KEYWORD_undefined <- 'undefined' end_of_word @@ -8350,7 +8354,7 @@ keyword <- KEYWORD_align / KEYWORD_and / KEYWORD_anyerror / KEYWORD_asm / KEYWORD_orelse / KEYWORD_packed / KEYWORD_promise / KEYWORD_pub / KEYWORD_resume / KEYWORD_return / KEYWORD_linksection / KEYWORD_stdcallcc / KEYWORD_struct / KEYWORD_suspend - / KEYWORD_switch / KEYWORD_test / KEYWORD_true / KEYWORD_try + / KEYWORD_switch / KEYWORD_test / KEYWORD_threadlocal / KEYWORD_true / KEYWORD_try / KEYWORD_undefined / KEYWORD_union / KEYWORD_unreachable / KEYWORD_use / KEYWORD_var / KEYWORD_volatile / KEYWORD_while</code></pre> {#header_close#} |
