]> Cypherpunks.ru repositories - gostls13.git/blob - doc/go1.22.html
spec: specify evaluation order for binary logical operations
[gostls13.git] / doc / go1.22.html
1 <!--{
2         "Title": "Go 1.22 Release Notes",
3         "Path":  "/doc/go1.22"
4 }-->
5
6 <!--
7 NOTE: In this document and others in this directory, the convention is to
8 set fixed-width phrases with non-fixed-width spaces, as in
9 <code>hello</code> <code>world</code>.
10 Do not send CLs removing the interior tags from such phrases.
11 -->
12
13 <style>
14   main ul li { margin: 0.5em 0; }
15 </style>
16
17 <h2 id="introduction">DRAFT RELEASE NOTES — Introduction to Go 1.22</h2>
18
19 <p>
20   <strong>
21     Go 1.22 is not yet released. These are work-in-progress
22     release notes. Go 1.22 is expected to be released in February 2024.
23   </strong>
24 </p>
25
26 <h2 id="language">Changes to the language</h2>
27
28 <p>
29   TODO: complete this section
30 </p>
31
32 <h2 id="tools">Tools</h2>
33
34 <h3 id="go-command">Go command</h3>
35
36 <p>
37   TODO: complete this section, or delete if not needed
38 </p>
39
40 <h3 id="cgo">Cgo</h3>
41
42 <p><!-- CL 497837 --> The special comment that precedes
43   <code>import</code> <code>"C"</code> may now include two
44   new <code>#cgo</code> directives.
45   <ul>
46     <li>
47       <code>#cgo</code> <code>noescape</code> <code>cFunctionName</code>
48       tells cgo that Go pointers passed to the C function
49       <code>cFunctionName</code> do not escape.
50     </li>
51     <li>
52       <code>#cgo</code> <code>nocallback</code> <code>cFunctionName</code>
53       tells cgo that the C function <code>cFunctionName</code> does
54       not call any Go functions.
55     </li>
56   </ul>
57   See <a href="/cmd/cgo#hdr-Optimizing_calls_of_C_code">the <code>cgo</code>
58   documentation</a> for more details.
59 </p>
60
61 <h2 id="runtime">Runtime</h2>
62
63 <p>
64   TODO: complete this section, or delete if not needed
65 </p>
66
67 <h2 id="compiler">Compiler</h2>
68
69 <p>
70   TODO: complete this section, or delete if not needed
71 </p>
72
73 <h2 id="linker">Linker</h2>
74
75 <p>
76   TODO: complete this section, or delete if not needed
77 </p>
78
79 <h2 id="library">Core library</h2>
80
81 <h3 id="minor_library_changes">Minor changes to the library</h3>
82
83 <p>
84   As always, there are various minor changes and updates to the library,
85   made with the Go 1 <a href="/doc/go1compat">promise of compatibility</a>
86   in mind.
87   There are also various performance improvements, not enumerated here.
88 </p>
89
90 <p>
91   TODO: complete this section
92 </p>
93
94 <dl id="database/sql"><dt><a href="/pkg/database/sql/">database/sql</a></dt>
95   <dd>
96     <p><!-- https://go.dev/issue/60370, CL 501700 -->
97       The new <a href="/pkg/database/sql/#Null"><code>Null[T]</code></a> type
98       provide a way to scan nullable columns for any column types.
99     </p>
100   </dd>
101 </dl>
102
103 <dl id="reflect"><dt><a href="/pkg/reflect/">reflect</a></dt>
104   <dd>
105     <p><!-- https://go.dev/issue/61827, CL 517777 -->
106       The <a href="/pkg/reflect/#Value.IsZero"><code>Value.IsZero</code></a>
107       method will now return true for a floating-point or complex
108       negative zero, and will return true for a struct value if a
109       blank field (a field named <code>_</code>) somehow has a
110       non-zero value.
111       These changes make <code>IsZero</code> consistent with comparing
112       a value to zero using the languague <code>==</code> operator.
113     </p>
114   </dd>
115 </dl>
116
117 <h2 id="ports">Ports</h2>
118
119 <p>
120   TODO: complete this section, or delete if not needed
121 </p>
122