Skip to content

Commit f06eaf0

Browse files
committed
[release-branch.go1.22] all: merge master (1d4b0b6) into release-branch.go1.22
Merge List: + 2023-12-19 1d4b0b6 doc/go1.22.html: release notes for slog, testing/slogtest and net/http.ServeMux + 2023-12-19 6fe0d37 cmd/compile: remove interfacecycles debug flag + 2023-12-19 90daaa0 doc/go1.22: announcing support address sanitizer on Loong64 + 2023-12-18 5b84d50 test: skip rangegen.go on 32-bit platforms + 2023-12-18 4106de9 crypto/tls: align FIPS-only mode with BoringSSL policy + 2023-12-18 7383b2a crypto/internal/boring: upgrade module to fips-20220613 + 2023-12-18 c564d4a Revert "cmd/cgo/internal/testsanitizers: fix msan test failing with clang >= 16" + 2023-12-18 7058f09 cmd: go get golang.org/x/tools@83bceaf2 and revendor + 2023-12-18 761e10b cmd/link/internal/loadpe: update comment about @feat.00 symbol handling + 2023-12-18 450f5d9 doc: add math/rand/v2 release notes + 2023-12-18 08bec0d builtin: mention PanicNilError in comments of recover + 2023-12-18 2acbdd0 cmd/cgo/internal/testsanitizers: fix msan test failing with clang >= 16 + 2023-12-18 a709724 internal/syscall/windows: fix the signature of SetFileInformationByHandle + 2023-12-18 8e3930f runtime: skip TestRuntimeLockMetricsAndProfile for flakiness + 2023-12-15 9b4b3e5 runtime: properly model rwmutex in lock ranking + 2023-12-15 7930971 all: fix copyright headers + 2023-12-15 f8170cc cmd/asm: for arm, rewrite argument shifted right by 0 to left by 0. + 2023-12-15 3313bbb runtime: add race annotations in IncNonDefault + 2023-12-15 b60bf8f cmd/asm: fix encoding for arm right shift by constant 0 + 2023-12-15 5e939b3 doc: add crypto/tls and crypto/x509 release notes Change-Id: I2a80e9d39aa1fbb22b06ecfa16f725bacb78eb3f
2 parents 796f59d + 1d4b0b6 commit f06eaf0

File tree

90 files changed

+1103
-749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+1103
-749
lines changed

doc/go1.22.html

Lines changed: 141 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -274,40 +274,128 @@ <h2 id="library">Core library</h2>
274274

275275
<h3 id="math_rand_v2">New math/rand/v2 package</h3>
276276

277-
<p><!-- CL 502495 -->
278-
TODO: <a href="https://go.dev/cl/502495">https://go.dev/cl/502495</a>: math/rand/v2: start of new API; modified api/next/61716.txt
279-
</p>
277+
<!-- CL 502495 -->
278+
<!-- CL 502497 -->
279+
<!-- CL 502498 -->
280+
<!-- CL 502499 -->
281+
<!-- CL 502500 -->
282+
<!-- CL 502505 -->
283+
<!-- CL 502506 -->
284+
<!-- CL 516857 -->
285+
<!-- CL 516859 -->
280286

281-
<p><!-- CL 502497 -->
282-
TODO: <a href="https://go.dev/cl/502497">https://go.dev/cl/502497</a>: math/rand/v2: remove Read; modified api/next/61716.txt
287+
<p>
288+
Go 1.22 includes the first “v2” package in the standard library,
289+
<a href="/pkg/math/rand/v2/"><code>math/rand/v2</code></a>.
290+
The changes compared to <a href="/pkg/math/rand/"><code>math/rand</code></a> are
291+
detailed in <a href="/issue/61716">proposal #61716</a>. The most important changes are:
283292
</p>
284293

285-
<p><!-- CL 502498 -->
286-
TODO: <a href="https://go.dev/cl/502498">https://go.dev/cl/502498</a>: math/rand/v2: remove Rand.Seed; modified api/next/61716.txt
294+
<ul>
295+
<li>The <code>Read</code> method, deprecated in <code>math/rand</code>,
296+
was not carried forward for <code>math/rand/v2</code>.
297+
(It remains available in <code>math/rand</code>.)
298+
The vast majority of calls to <code>Read</code> should use
299+
<a href="/pkg/crypto/rand/#Read"><code>crypto/rand</code>’s <code>Read</code></a> instead.
300+
Otherwise a custom <code>Read</code> can be constructed using the <code>Uint64</code> method.
301+
302+
<li>The global generator accessed by top-level functions is unconditionally randomly seeded.
303+
Because the API guarantees no fixed sequence of results,
304+
optimizations like per-thread random generator states are now possible.
305+
306+
<li>The <a href="/pkg/math/rand/v2/#Source"><code>Source</code></a>
307+
interface now has a single <code>Uint64</code> method;
308+
there is no <code>Source64</code> interface.
309+
310+
<li>Many methods now use faster algorithms that were not possible to adopt in <code>math/rand</code>
311+
because they changed the output streams.
312+
313+
<li>The
314+
<code>Intn</code>,
315+
<code>Int31</code>,
316+
<code>Int31n</code>,
317+
<code>Int63</code>,
318+
and
319+
<code>Int64n</code>
320+
top-level functions and methods from <code>math/rand</code>
321+
are spelled more idiomatically in <code>math/rand/v2</code>:
322+
<code>IntN</code>,
323+
<code>Int32</code>,
324+
<code>Int32N</code>,
325+
<code>Int64</code>,
326+
and
327+
<code>Int64N</code>.
328+
There are also new top-level functions and methods
329+
<code>Uint32</code>,
330+
<code>Uint32N</code>,
331+
<code>Uint64</code>,
332+
<code>Uint64N</code>,
333+
<code>Uint</code>,
334+
and
335+
<code>UintN</code>.
336+
337+
<li>The
338+
new generic function <a href="/pkg/math/rand/v2/#N"><code>N</code></a>
339+
is like
340+
<a href="/pkg/math/rand/v2/#Int64N"><code>Int64N</code></a> or
341+
<a href="/pkg/math/rand/v2/#Uint64N"><code>Uint64N</code></a>
342+
but works for any integer type.
343+
For example a random duration from 0 up to 5 minutes is
344+
<code>rand.N(5*time.Minute)</code>.
345+
346+
<li>The Mitchell & Reeds LFSR generator provided by
347+
<a href="/pkg/math/rand/#Source"><code>math/rand</code>’s <code>Source</code></a>
348+
has been replaced by two more modern pseudo-random generator sources:
349+
<a href="/pkg/math/rand/v2/#ChaCha8"><code>ChaCha8</code></a>
350+
<a href="/pkg/math/rand/v2/#PCG"><code>PCG</code></a>.
351+
ChaCha8 is a new, cryptographically strong random number generator
352+
roughly similar to PCG in efficiency.
353+
ChaCha8 is the algorithm used for the top-level functions in <code>math/rand/v2</code>.
354+
As of Go 1.22, <code>math/rand</code>'s top-level functions (when not explicitly seeded)
355+
and the Go runtime also use ChaCha8 for randomness.
356+
</ul>
357+
358+
<p>
359+
We plan to include an API migration tool in a future release, likely Go 1.23.
287360
</p>
288361

289-
<p><!-- CL 502499 -->
290-
TODO: <a href="https://go.dev/cl/502499">https://go.dev/cl/502499</a>: math/rand/v2: change Source to use uint64; modified api/next/61716.txt
362+
<h3 id="enhanced_routing_patterns"</h3>
363+
364+
<p><!-- https://go.dev/issue/61410 -->
365+
HTTP routing in the standard library is now more expressive.
366+
The patterns used by <a href="/pkg/net/http#ServeMux"><code>net/http.ServeMux</code></a> have been enhanced to accept methods and wildcards.
291367
</p>
292368

293-
<p><!-- CL 502500 -->
294-
TODO: <a href="https://go.dev/cl/502500">https://go.dev/cl/502500</a>: math/rand/v2: add, optimize N, UintN, Uint32N, Uint64N; modified api/next/61716.txt
369+
<p>
370+
Registering a handler with a method, like <code>"POST /items/create"</code>, restricts
371+
invocations of the handler to requests with the given method. A pattern with a method takes precedence over a matching pattern without one.
372+
As a special case, registering a handler with <code> "GET"</code> also registers it with <code>"HEAD"</code>.
295373
</p>
296374

297-
<p><!-- CL 502505 -->
298-
TODO: <a href="https://go.dev/cl/502505">https://go.dev/cl/502505</a>: math/rand/v2: add PCG-DXSM; modified api/next/61716.txt
375+
<p>
376+
Wildcards in patterns, like <code>/items/{id}</code>, match segments of the URL path.
377+
The actual segment value may be accessed by calling the <a href="/pkg/net/http#Request.PathValue"><code>Request.PathValue</code></a> method.
378+
A wildcard ending in "...", like <code>/files/{path...}</code>, must occur at the end of a pattern and matches all the remaining segments.
299379
</p>
300380

301-
<p><!-- CL 502506 -->
302-
TODO: <a href="https://go.dev/cl/502506">https://go.dev/cl/502506</a>: math/rand/v2: delete Mitchell/Reeds source; modified api/next/61716.txt
381+
<p>
382+
A pattern that ends in "/" matches all paths that have it as a prefix, as always.
383+
To match the exact pattern including the trailing slash, end it with <code>{$}</code>,
384+
as in <code>/exact/match/{$}</code>.
303385
</p>
304386

305-
<p><!-- CL 516857 -->
306-
TODO: <a href="https://go.dev/cl/516857">https://go.dev/cl/516857</a>: math/rand/v2: rename various functions; modified api/next/61716.txt
387+
<p>
388+
If two patterns overlap in the requests that they match, then the more specific pattern takes precedence.
389+
If neither is more specific, the patterns conflict.
390+
This rule generalizes the original precedence rules and maintains the property that the order in which
391+
patterns are registered does not matter.
307392
</p>
308393

309-
<p><!-- CL 516859 -->
310-
TODO: <a href="https://go.dev/cl/516859">https://go.dev/cl/516859</a>: math/rand/v2: add ChaCha8; modified api/next/61716.txt
394+
<p>
395+
This change breaks backwards compatiblity in small ways, some obvious&mdash;patterns with "{" and "}" behave differently&mdash;
396+
and some less so&mdash;treatment of escaped paths has been improved.
397+
The change is controlled by a <a href="/doc/godebug"><code>GODEBUG</code></a> field named <code>httpmuxgo121</code>.
398+
Set <code>httpmuxgo121=1</code> to restore the old behavior.
311399
</p>
312400

313401
<h3 id="minor_library_changes">Minor changes to the library</h3>
@@ -363,56 +451,48 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
363451

364452
<dl id="crypto/tls"><dt><a href="/pkg/crypto/tls/">crypto/tls</a></dt>
365453
<dd>
366-
<p><!-- https://go.dev/issue/43922 -->
367-
TODO: <a href="https://go.dev/issue/43922">https://go.dev/issue/43922</a>: implement RFC7627
368-
</p>
369-
370-
<p><!-- https://go.dev/issue/62459 -->
371-
TODO: <a href="https://go.dev/issue/62459">https://go.dev/issue/62459</a>: make default minimum version for servers TLS 1.2
372-
</p>
373-
374-
<p><!-- https://go.dev/issue/63413 -->
375-
TODO: <a href="https://go.dev/issue/63413">https://go.dev/issue/63413</a>: disable RSA key exchange cipher suites by default
376-
</p>
377-
378-
<p><!-- CL 514997 -->
379-
TODO: <a href="https://go.dev/cl/514997">https://go.dev/cl/514997</a>: crypto/tls: change SendSessionTicket to take an options struct; modified api/go1.21.txt
380-
</p>
381-
382-
<p><!-- CL 541516 -->
383-
TODO: <a href="https://go.dev/cl/541516">https://go.dev/cl/541516</a>: crypto/tls: change default minimum version to 1.2
454+
<p><!-- https://go.dev/issue/43922, CL 544155 -->
455+
<a href="/pkg/crypto/tls#ConnectionState.ExportKeyingMaterial"><code>ConnectionState.ExportKeyingMaterial</code></a> will now
456+
return an error unless TLS 1.3 is in use, or the <code>extended_master_secret</code> extension is supported by both the server and
457+
client. <code>crypto/tls</code> has supported this extension since Go 1.20. This can be disabled with the
458+
<code>tlsunsafeekm=1</code> GODEBUG setting.
384459
</p>
385460

386-
<p><!-- CL 541517 -->
387-
TODO: <a href="https://go.dev/cl/541517">https://go.dev/cl/541517</a>: crypto/tls: remove RSA KEX ciphers from the default list
461+
<p><!-- https://go.dev/issue/62459, CL 541516 -->
462+
By default, the minimum version offered by <code>crypto/tls</code> servers is now TLS 1.2 if not specified with
463+
<a href="/pkg/crypto/tls#Config.MinimumVersion"><code>config.MinimumVersion</code></a>, matching the behavior of <code>crypto/tls</code>
464+
clients. This change can be reverted with the <code>tls10server=1</code> GODEBUG setting.
388465
</p>
389466

390-
<p><!-- CL 544155 -->
391-
TODO: <a href="https://go.dev/cl/544155">https://go.dev/cl/544155</a>: crypto/tls: disable ExportKeyingMaterial without EMS
467+
<p><!-- https://go.dev/issue/63413, CL 541517 -->
468+
By default, cipher suites without ECDHE support are no longer offered by either clients or servers during pre-TLS 1.3
469+
handshakes. This change can be reverted with the <code>tlsrsakex=1</code> GODEBUG setting.
392470
</p>
393471
</dd>
394472
</dl><!-- crypto/tls -->
395473

396474
<dl id="crypto/x509"><dt><a href="/pkg/crypto/x509/">crypto/x509</a></dt>
397475
<dd>
398476
<p><!-- https://go.dev/issue/57178 -->
399-
TODO: <a href="https://go.dev/issue/57178">https://go.dev/issue/57178</a>: support code-constrained roots
400-
</p>
401-
402-
<p><!-- https://go.dev/issue/58922 -->
403-
TODO: <a href="https://go.dev/issue/58922">https://go.dev/issue/58922</a>: add android user trusted CA folder as a possible source for certificate retrieval
477+
The new <a href="/pkg/crypto/x509#CertPool.AddCertWithConstraint"><code>CertPool.AddCertWithConstraint</code></a>
478+
method can be used to add customized constraints to root certificates to be applied during chain building.
404479
</p>
405480

406-
<p><!-- https://go.dev/issue/60665 -->
407-
TODO: <a href="https://go.dev/issue/60665">https://go.dev/issue/60665</a>: introduce new robust OID type &amp; use it for certificate policies
481+
<p><!-- https://go.dev/issue/58922, CL 519315-->
482+
On Android, root certificates will now be loaded from <code>/data/misc/keychain/certs-added</code> as well as <code>/system/etc/security/cacerts</code>.
408483
</p>
409484

410-
<p><!-- CL 519315 -->
411-
TODO: <a href="https://go.dev/cl/519315">https://go.dev/cl/519315</a>: crypto/x509: implement AddCertWithConstraint; modified api/next/57178.txt
412-
</p>
485+
<p><!-- https://go.dev/issue/60665, CL 520535 -->
486+
A new type, <a href="/pkg/crypto/x509#OID"><code>OID</code></a>, supports ASN.1 Object Identifiers with individual
487+
components larger than 31 bits. A new field which uses this type, <a href="/pkg/crypto/x509#Certificate.Policies"><code>Policies</code></a>,
488+
is added to the <code>Certificate</code> struct, and is now populated during parsing. Any OIDs which cannot be represented
489+
using a <a href="/pkg/encoding/asn1#ObjectIdentifier"><code>asn1.ObjectIdentifier</code></a> will appear in <code>Policies</code>,
490+
but not in the old <code>PolicyIdentifiers</code> field.
413491

414-
<p><!-- CL 520535 -->
415-
TODO: <a href="https://go.dev/cl/520535">https://go.dev/cl/520535</a>: crypto/x509: add new OID type and use it in Certificate; modified api/next/60665.txt
492+
When calling <a href="/pkg/crypto/x509#CreateCertificate"><code>CreateCertificate</code></a>, the <code>Policies</code> field is ignored, and
493+
policies are taken from the <code>PolicyIdentifiers</code> field. Using the <code>x509usepolicies=1</code> GODEBUG setting inverts this,
494+
populating certificate policies from the <code>Policies</code> field, and ignoring the <code>PolicyIdentifiers</code> field. We may change the
495+
default value of <code>x509usepolicies</code> in Go 1.23, making <code>Policies</code> the default field for marshaling.
416496
</p>
417497
</dd>
418498
</dl><!-- crypto/x509 -->
@@ -592,14 +672,13 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
592672
<dl id="log/slog"><dt><a href="/pkg/log/slog/">log/slog</a></dt>
593673
<dd>
594674
<p><!-- https://go.dev/issue/62418 -->
595-
TODO: <a href="https://go.dev/issue/62418">https://go.dev/issue/62418</a>: enable setting level on default log.Logger
596-
</p>
597-
598-
<p><!-- CL 525096 -->
599-
TODO: <a href="https://go.dev/cl/525096">https://go.dev/cl/525096</a>: log/slog: add LogLoggerLevel to enable setting level on the default logger; modified api/next/62418.txt
675+
The new <a href="/pkg/log/slog#SetLogLoggerLevel"><code>SetLogLoggerLevel</code></a> function
676+
controls the level for the bridge between the `slog` and `log` packages. It sets the minimum level
677+
for calls to the top-level `slog` logging functions, and it sets the level for calls to `log.Logger`
678+
that go through `slog`.
600679
</p>
601680
</dd>
602-
</dl><!-- log/slog -->
681+
</dl>
603682

604683
<dl id="math/big"><dt><a href="/pkg/math/big/">math/big</a></dt>
605684
<dd>
@@ -641,10 +720,6 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
641720
operating on an <code>fs.FS</code>.
642721
</p>
643722

644-
<p><!-- https://go.dev/issue/61410 -->
645-
TODO: <a href="https://go.dev/issue/61410">https://go.dev/issue/61410</a>: enhanced ServeMux routing
646-
</p>
647-
648723
<p><!-- https://go.dev/issue/61679 -->
649724
The HTTP server and client now reject requests and responses containing
650725
an invalid empty <code>Content-Length</code> header.
@@ -884,11 +959,8 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
884959
<dl id="testing/slogtest"><dt><a href="/pkg/testing/slogtest/">testing/slogtest</a></dt>
885960
<dd>
886961
<p><!-- https://go.dev/issue/61758 -->
887-
TODO: <a href="https://go.dev/issue/61758">https://go.dev/issue/61758</a>: support sub-tests
888-
</p>
889-
890-
<p><!-- CL 516076 -->
891-
TODO: <a href="https://go.dev/cl/516076">https://go.dev/cl/516076</a>: testing/slogtest: add Run to run cases as subtests; modified api/next/61758.txt
962+
The new <a href="/pkg/testing/slogtest#Run"><code>Run</code></a> function uses sub-tests to run test cases,
963+
providing finer-grained control.
892964
</p>
893965
</dd>
894966
</dl><!-- testing/slogtest -->
@@ -924,7 +996,7 @@ <h3 id="loong64">Loong64</h3>
924996
The <code>loong64</code> port now supports passing function arguments and results using registers.
925997
</p>
926998
<p><!-- CL 481315,537615,480878 -->
927-
The <code>linux/loong64</code> port now supports the memory sanitizer, new-style linker relocations, and the <code>plugin</code> build mode.
999+
The <code>linux/loong64</code> port now supports the address sanitizer, memory sanitizer, new-style linker relocations, and the <code>plugin</code> build mode.
9281000
</p>
9291001

9301002
<h3 id="openbsd">OpenBSD</h3>

src/builtin/builtin.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,10 @@ func panic(v any)
284284
// by restoring normal execution and retrieves the error value passed to the
285285
// call of panic. If recover is called outside the deferred function it will
286286
// not stop a panicking sequence. In this case, or when the goroutine is not
287-
// panicking, or if the argument supplied to panic was nil, recover returns
288-
// nil. Thus the return value from recover reports whether the goroutine is
289-
// panicking.
287+
// panicking, recover returns nil.
288+
//
289+
// Prior to Go 1.21, recover would also return nil if panic is called with
290+
// a nil argument. See [panic] for details.
290291
func recover() any
291292

292293
// The print built-in function formats its arguments in an

src/cmd/asm/internal/asm/testdata/arm.s

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,10 +870,13 @@ jmp_label_3:
870870
BIC.S R0@>R1, R2 // 7021d2e1
871871

872872
// SRL
873+
SRL $0, R5, R6 // 0560a0e1
874+
SRL $1, R5, R6 // a560a0e1
873875
SRL $14, R5, R6 // 2567a0e1
874876
SRL $15, R5, R6 // a567a0e1
875877
SRL $30, R5, R6 // 256fa0e1
876878
SRL $31, R5, R6 // a56fa0e1
879+
SRL $32, R5, R6 // 2560a0e1
877880
SRL.S $14, R5, R6 // 2567b0e1
878881
SRL.S $15, R5, R6 // a567b0e1
879882
SRL.S $30, R5, R6 // 256fb0e1
@@ -892,10 +895,13 @@ jmp_label_3:
892895
SRL.S R5, R7 // 3775b0e1
893896

894897
// SRA
898+
SRA $0, R5, R6 // 0560a0e1
899+
SRA $1, R5, R6 // c560a0e1
895900
SRA $14, R5, R6 // 4567a0e1
896901
SRA $15, R5, R6 // c567a0e1
897902
SRA $30, R5, R6 // 456fa0e1
898903
SRA $31, R5, R6 // c56fa0e1
904+
SRA $32, R5, R6 // 4560a0e1
899905
SRA.S $14, R5, R6 // 4567b0e1
900906
SRA.S $15, R5, R6 // c567b0e1
901907
SRA.S $30, R5, R6 // 456fb0e1
@@ -914,6 +920,8 @@ jmp_label_3:
914920
SRA.S R5, R7 // 5775b0e1
915921

916922
// SLL
923+
SLL $0, R5, R6 // 0560a0e1
924+
SLL $1, R5, R6 // 8560a0e1
917925
SLL $14, R5, R6 // 0567a0e1
918926
SLL $15, R5, R6 // 8567a0e1
919927
SLL $30, R5, R6 // 056fa0e1
@@ -935,6 +943,20 @@ jmp_label_3:
935943
SLL R5, R7 // 1775a0e1
936944
SLL.S R5, R7 // 1775b0e1
937945

946+
// Ops with zero shifts should encode as left shifts
947+
ADD R0<<0, R1, R2 // 002081e0
948+
ADD R0>>0, R1, R2 // 002081e0
949+
ADD R0->0, R1, R2 // 002081e0
950+
ADD R0@>0, R1, R2 // 002081e0
951+
MOVW R0<<0(R1), R2 // 002091e7
952+
MOVW R0>>0(R1), R2 // 002091e7
953+
MOVW R0->0(R1), R2 // 002091e7
954+
MOVW R0@>0(R1), R2 // 002091e7
955+
MOVW R0, R1<<0(R2) // 010082e7
956+
MOVW R0, R1>>0(R2) // 010082e7
957+
MOVW R0, R1->0(R2) // 010082e7
958+
MOVW R0, R1@>0(R2) // 010082e7
959+
938960
// MULA / MULS
939961
MULAWT R1, R2, R3, R4 // c23124e1
940962
MULAWB R1, R2, R3, R4 // 823124e1

src/cmd/cgo/internal/test/issue9400/asm_mips64x.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2016 The Go Authors. All rights reserved.
1+
// Copyright 2016 The Go Authors. All rights reserved.
22
// Use of this source code is governed by a BSD-style
33
// license that can be found in the LICENSE file.
44

src/cmd/cgo/internal/test/issue9400/asm_riscv64.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2020 The Go Authors. All rights reserved.
1+
// Copyright 2020 The Go Authors. All rights reserved.
22
// Use of this source code is governed by a BSD-style
33
// license that can be found in the LICENSE file.
44

src/cmd/cgo/internal/testgodefs/testdata/fieldtypedef.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2018 The Go Authors. All rights reserve d.
1+
// Copyright 2018 The Go Authors. All rights reserved.
22
// Use of this source code is governed by a BSD-style
33
// license that can be found in the LICENSE file.
44

src/cmd/compile/internal/base/debug.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ type DebugFlags struct {
3636
Gossahash string `help:"hash value for use in debugging the compiler"`
3737
InlFuncsWithClosures int `help:"allow functions with closures to be inlined" concurrent:"ok"`
3838
InlStaticInit int `help:"allow static initialization of inlined calls" concurrent:"ok"`
39-
InterfaceCycles int `help:"allow anonymous interface cycles"`
4039
Libfuzzer int `help:"enable coverage instrumentation for libfuzzer"`
4140
LoopVar int `help:"shared (0, default), 1 (private loop variables), 2, private + log"`
4241
LoopVarHash string `help:"for debugging changes in loop behavior. Overrides experiment and loopvar flag."`

0 commit comments

Comments
 (0)