Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
golang/go
0xmohit/go
95rangerxlt/go
Acidburn0zzz/go
Amd64R/go-1
Anthonymcqueen21/go
AnuchitO/go
Ares2013/go
BPI-SINOVOIP/go
BPing/go
BlackEragon/go
BubbleEric/go
Buddhilive/go
CNXTEoEorg/go
Caplost/go
ChiefMage/go
Citizenxin/go
DanielMorsing/go
Davidzhu001/go-1
Demznak/go
FiloSottile/go
GerogeZero/go
GoesToEleven/go
GuSWRolland/go
HCLAC/go
HogLang/hog
Hossein1995/go
Janatbek/go
JeremyChenn/go
Joyionline/go
JsCrimson/go
LgJianzhao/go
LittleRiverLian/go
LouisJenkinsCS/Go_With_Concurrent_Map_Builtin
March4/go
MarcusChang/go
Ndekere/go
OlgorittRobot/go
PEPE-net/go
Patrickofdyq/go
PhillipSz/go
RiverLempel/go
Rojackse/go
SeungKyun/go
SouthernCharmz/go
SpiderOak/go
SpivEgin/go
Sreng-S/go
TangTHL/go
TelegramSupport/go
TheByteKnight/go
VFOXITChick/go
VukDukic/go
WEI-HE/go
XenoAmess/go-free
Young55555/go
ZoranWong/go
aatmaca/go
adamgj/go
aj07/go
akaros/go-akaros
alash3al/go
alcret/go
alexrao/go
algorithmically/go
alimnastaev/go
aminger/go
amirdaneshvar/go
anlhord/go
anydream/gg
ascheglov/go
bernerdschaefer/atman
blackkking/go
boolinking/go
bruceloo/go
cag/go
cchamplin/go
ceseo/go
chenange/go
chenduzi/go
chmodawk/go
christopher-henderson/GoSearch
cookerzhu/go
cxytujie/go
cyberroadie/go-sctp
cyysu/go
dangen-effy/go
deeokay/go
devfeel/go
dhirajsharma/go
dlg-yahoo/go
dojotech/go
dsw0214/go
dvandra/go
ercanucan/go
ericlakich/go
freeliver/go
freezehe/go
gavinzhs/go
gdey/go
getlantern/go
githubwbs/go-1
glaubitz/go
gopher-lang/gopher
gtd138/go
haylhf/go
henrylee2cn/go
hnes/go-tool-trace-greediest-goroutines
hsiven/go
ibrahimdraidia/go
iexpos/go
iftikharuddin/go
imagineagents/go
imkira/go
jessicah/go
jjjhrl/go
johnkushkorov/go
josuamarcelc/go
jpoirier/go
khamuul/go
kingslair/go
lattera/go
leizhendong/go
letsencrypt/go
lifeNrun/go
linux-on-ibm-z/go
linxueyi2230/go
lokifist/go
lokistone/go
lucasmrthomaz/go
luisulbaranleonTSCI/go
luoyangen/go
macressler/go
marzwu/go
mcanthony/go
mengqingshare/go
mesb/go
mike10001/go
mingodad/go
minux/goios
mittywalter/go
mmcloughlin/go
mrmuxl/go
msn217/go
nadiasvertex/go
nataliegryphon/go
neelance/go
niilante/go
noodmaketest/go
nuuyoo/go
opptinmer/go
palmin/go
peterfarouk01/go
philhofer/go
phuslu/go
polaris1119/go
powertechpreview/go
qinchao0525/go
qxj006/go
rare/go
rdterner/go
roth1002/go
rsc/go
sakishum/go
sebastianviera/go
shadowsocks/go
shae1988/go
shailesh17/go
shenjinxi/go
shijuvar/go
shyamalschandra/go
sky101010ws/go
slavau/go
smallerhand/go
soloos/go
status-im/go
stormltf/go
sujiahong/go
sujunbo/go
tgin/go
u35s/go
v2pro/koala-go
varver/go
wfw727/go
woollplus/go
worawit/go
wubob/go
xiezhenye/go
ximiabc/go
xizhixing/go
xuanxinhuiqing/go
xuhaitao/go
yell-li/go
ylck/go
yuriigithub/go
zcwfeng/go
zhangdianchao/go
zhouzhengde/go
zmoon111/go
zwyzzu/go
Nothing to show
Choose a Head Repository
golang/go
0xmohit/go
95rangerxlt/go
Acidburn0zzz/go
Amd64R/go-1
Anthonymcqueen21/go
AnuchitO/go
Ares2013/go
BPI-SINOVOIP/go
BPing/go
BlackEragon/go
BubbleEric/go
Buddhilive/go
CNXTEoEorg/go
Caplost/go
ChiefMage/go
Citizenxin/go
DanielMorsing/go
Davidzhu001/go-1
Demznak/go
FiloSottile/go
GerogeZero/go
GoesToEleven/go
GuSWRolland/go
HCLAC/go
HogLang/hog
Hossein1995/go
Janatbek/go
JeremyChenn/go
Joyionline/go
JsCrimson/go
LgJianzhao/go
LittleRiverLian/go
LouisJenkinsCS/Go_With_Concurrent_Map_Builtin
March4/go
MarcusChang/go
Ndekere/go
OlgorittRobot/go
PEPE-net/go
Patrickofdyq/go
PhillipSz/go
RiverLempel/go
Rojackse/go
SeungKyun/go
SouthernCharmz/go
SpiderOak/go
SpivEgin/go
Sreng-S/go
TangTHL/go
TelegramSupport/go
TheByteKnight/go
VFOXITChick/go
VukDukic/go
WEI-HE/go
XenoAmess/go-free
Young55555/go
ZoranWong/go
aatmaca/go
adamgj/go
aj07/go
akaros/go-akaros
alash3al/go
alcret/go
alexrao/go
algorithmically/go
alimnastaev/go
aminger/go
amirdaneshvar/go
anlhord/go
anydream/gg
ascheglov/go
bernerdschaefer/atman
blackkking/go
boolinking/go
bruceloo/go
cag/go
cchamplin/go
ceseo/go
chenange/go
chenduzi/go
chmodawk/go
christopher-henderson/GoSearch
cookerzhu/go
cxytujie/go
cyberroadie/go-sctp
cyysu/go
dangen-effy/go
deeokay/go
devfeel/go
dhirajsharma/go
dlg-yahoo/go
dojotech/go
dsw0214/go
dvandra/go
ercanucan/go
ericlakich/go
freeliver/go
freezehe/go
gavinzhs/go
gdey/go
getlantern/go
githubwbs/go-1
glaubitz/go
gopher-lang/gopher
gtd138/go
haylhf/go
henrylee2cn/go
hnes/go-tool-trace-greediest-goroutines
hsiven/go
ibrahimdraidia/go
iexpos/go
iftikharuddin/go
imagineagents/go
imkira/go
jessicah/go
jjjhrl/go
johnkushkorov/go
josuamarcelc/go
jpoirier/go
khamuul/go
kingslair/go
lattera/go
leizhendong/go
letsencrypt/go
lifeNrun/go
linux-on-ibm-z/go
linxueyi2230/go
lokifist/go
lokistone/go
lucasmrthomaz/go
luisulbaranleonTSCI/go
luoyangen/go
macressler/go
marzwu/go
mcanthony/go
mengqingshare/go
mesb/go
mike10001/go
mingodad/go
minux/goios
mittywalter/go
mmcloughlin/go
mrmuxl/go
msn217/go
nadiasvertex/go
nataliegryphon/go
neelance/go
niilante/go
noodmaketest/go
nuuyoo/go
opptinmer/go
palmin/go
peterfarouk01/go
philhofer/go
phuslu/go
polaris1119/go
powertechpreview/go
qinchao0525/go
qxj006/go
rare/go
rdterner/go
roth1002/go
rsc/go
sakishum/go
sebastianviera/go
shadowsocks/go
shae1988/go
shailesh17/go
shenjinxi/go
shijuvar/go
shyamalschandra/go
sky101010ws/go
slavau/go
smallerhand/go
soloos/go
status-im/go
stormltf/go
sujiahong/go
sujunbo/go
tgin/go
u35s/go
v2pro/koala-go
varver/go
wfw727/go
woollplus/go
worawit/go
wubob/go
xiezhenye/go
ximiabc/go
xizhixing/go
xuanxinhuiqing/go
xuhaitao/go
yell-li/go
ylck/go
yuriigithub/go
zcwfeng/go
zhangdianchao/go
zhouzhengde/go
zmoon111/go
zwyzzu/go
Nothing to show
Commits on Aug 14, 2018
neelance and Richard Musiol
cmd/compile/internal/gc: add nil check for closure call on wasm
This commit adds an explicit nil check for closure calls on wasm,
so calling a nil func causes a proper panic instead of crashing on the
WebAssembly level.

Change-Id: I6246844f316677976cdd420618be5664444c25ae
Reviewed-on: https://go-review.googlesource.com/127759
Run-TryBot: Richard Musiol <neelance@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
go/printer: revert "make empty lines break table alignment"
This reverts commit c116265.

The change, while addressing issue #26352, introduced another
regression (#26930), which is worse. Reverting this change in
favor of a better fix for the original issue.

Updates #26352.
Fixes #26930.

Change-Id: I71ad12a8212992cce5c1e73907d1f7460f98d9e8
Reviewed-on: https://go-review.googlesource.com/129255
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
runtime: go fmt runtime2.go
Change-Id: I29a6125c9ef285fc365c4e11ab158b79224ae333
Reviewed-on: https://go-review.googlesource.com/126602
Run-TryBot: Martin Möhrmann <moehrmann@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
go/printer: consider empty lines in table layout computation
In previous versions of Go including 1.10, an empty line would break the
alignment of elements within an expression list.

golang.org/cl/104755 changed the heuristic, with the side effect that
empty lines no longer broke the table alignment.

A prior fix (https://go-review.googlesource.com/c/go/+/125260, reverted)
introduced another regression (#26930) which this change doesn't produce.

Added test cases for both #26352 and #26930.

Fixes #26352.
Updates #26930.

Change-Id: I371f48e6f3620ebbab53f2128ec5e58bcd4a62f1
Reviewed-on: https://go-review.googlesource.com/129256
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Alan Donovan <adonovan@google.com>
Commits on Aug 16, 2018
cmd/go: fix typos in go help mod subpages
mkalldocs.sh was run and it also picked up a doc change introduced in
CL 128935, where it wasn't run.

Fixes #27030

Change-Id: Ie13fdb71cd7d5481366a02eb711ca48f094026fd
Reviewed-on: https://go-review.googlesource.com/129576
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
runtime: load errno as signed 32-bit
the function libc_errno returns a pointer to a signed-32 bit quantity,
not a 64-bit quantity.

Fixes #27004

Change-Id: I0623835ee34fd9655532251f096022a5accb58cd
Reviewed-on: https://go-review.googlesource.com/129475
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
cmd/go: disable TestAccidentalGitCheckout for now
It seems it might not have ever worked.

Updates #22983

Change-Id: Icc022539aa2555486a65900abf97dfa30f92a1ea
Reviewed-on: https://go-review.googlesource.com/129615
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Commits on Aug 17, 2018
rsc
cmd/go: ignore /tmp/go.mod
Two different people have created /tmp/go.mod for experimentation
and then had other tests that create fresh work directories
below /tmp fail unexpectedly because the go command finds
/tmp/go.mod. Refuse to use /tmp/go.mod. /tmp/anything/go.mod is fine.

Fixes #26708.

Change-Id: I2a4f61ea63099cff59fbf9e8798e5dcefefd5557
Reviewed-on: https://go-review.googlesource.com/129063
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go: ignore import "C" files in module loader in non-cgo mode
Obviously, including files that import "C" when cgo is disabled is wrong.
The package load step correctly excludes them and finds no files at all,
which then causes a failure.

Fixes #26927.

Change-Id: I00e6d6450e783d467d20bde99e91240ecb0db837
Reviewed-on: https://go-review.googlesource.com/129062
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: David du Colombier <0intro@gmail.com>
rsc
cmd/go: document import "C" check from CL 129062
Added this locally but then broke the first rule of Gerrit
and clicked Submit instead of running "git submit".

Change-Id: I83c28d9151c566e9b2092e2613d67731a5d64beb
Reviewed-on: https://go-review.googlesource.com/129678
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
cmd/compile: make duplicate anonymous interface output deterministic
Ranging through a map is non-deterministic and there can be duplicate
entries in the set (with the same name) which don't have identical
definitions in some cases.

Fixes #27013

Change-Id: I378c48bc359c10b25b9238e0c663b498455b19fd
Reviewed-on: https://go-review.googlesource.com/129515
Reviewed-by: Russ Cox <rsc@golang.org>
mvdan and rsc
cmd/vet: don't suggest ... if it breaks a program
It is possible to write a function that seems to wrap a print/printf
call, but then doesn't. For example, if the string parameter we thought
was the format is used as another argument.

One option would be to make vet's print analysis smarter, to detect when
format strings are indeed used like we initially suspected.

However, I've opted for a simpler solution - check if the print/printf
call is already using more than one variadic argument, in which case
using an ellipsis in the last one would break the program:

	// too many arguments in call to fmt.Printf
	fmt.Printf(format, arg0, args...)

Fixes #26979.

Change-Id: I39371f1cec8483cfd2770a91670c1e80cbb9efdf
Reviewed-on: https://go-review.googlesource.com/129575
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
rsc
doc/code: drop mentions of GOPATH/pkg directory
It's already half gone and later will be all gone.
It's not worth explaining in an introduction doc.

Fixes #24506
Updates #4719

Change-Id: Ie48128b3aa090d84e0e734aa45f14a4480292913
Reviewed-on: https://go-review.googlesource.com/129679
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
go/doc: allow interior dot in heading, as in "go.mod"
Only the expected headings are affected.
Diffing the output of "go run headscan.go" before and after:

$ diff head1 head2
26a27,28
> 	Edit go.mod from tools or scripts
> 	Make go.mod semantically consistent
168c170
< 141 headings found
---
> 143 headings found
$

Fixes #26938.

Change-Id: I204fd982a60773aa26880cd19eed890c373b8ab6
Reviewed-on: https://go-review.googlesource.com/129677
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
doc: describe golang.org/x/go/packages in go1.11 release notes
Also, rename an HTML element ID to avoid duplicate.

Fixes #27038

Change-Id: Icc064a1cc86ddc794fc085d98b4cde3effff8ad0
Reviewed-on: https://go-review.googlesource.com/129635
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
rsc
cmd/go: distinguish patterns from the results of matching them
To date the go command has always just treated the command line
package patterns as a []string, expanded by pattern matching into
another []string. As a result, the code is not always clear about
whether a particular []string contains patterns or results.
A few different important bugs are caused by not keeping
this distinction clear enough. This CL sets us up well for fixing those,
by introducing an explicit search.Match struct holding the
results of matching a single pattern.

The added clarity here also makes it clear how to avoid duplicate
warnings about unmatched packages.

Fixes #26925. (Test in followup CL.)

Change-Id: Ic2f0606f7ab8b3734a40e22d3cb1e6f58d031061
Reviewed-on: https://go-review.googlesource.com/129058
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
rsc
cmd/go: fix -gcflags, -ldflags not applying to current directory
A flag setting like -gcflags=-e applies only to the packages
named on the command line, not to their dependencies.
The way we used to implement this was to remember the
command line arguments, reinterpret them as pattern matches
instead of package argument generators (globs), and apply them
during package load. The reason for this complexity was to
address a command-line like:

	go build -gcflags=-e fmt runtime

The load of fmt will load dependencies, including runtime,
and the load of runtime will reuse the result of the earlier load.
Because we were computing the effective -gcflags for each
package during the load, we had to have a way to tell, when
encountering runtime during the load of fmt, that runtime had
been named on the command line, even though we hadn't
gotten that far. That would be easy if the only possible
arguments were import paths, but we also need to handle

	go build -gcflags=-e fmt runt...
	go build -gcflags=-e fmt $GOROOT/src/runtime
	go build -gcflags=-e fmt $GOROOT/src/runt...
	and so on.

The match predicates usually did their job well, but not
always. In particular, thanks to symlinks and case-insensitive
file systems and unusual ways to spell file paths, it's always
been possible in various corner cases to give an argument
that evalutes to the runtime package during loading but
failed to match it when reused to determine "was this package
named on the command line?"

CL 109235 fixed one instance of this problem by making
a directory pattern match case-insensitive on Windows, but that
is incorrect in some other cases and doesn't address the root problem,
namely that there will probably always be odd corner cases
where pattern matching and pattern globbing are not exactly aligned.

This CL eliminates the assumption that pattern matching
and pattern globbing are always completely in agreement,
by simply marking the packages named on the command line
after the package load returns them. This means delaying
the computation of tool flags until after the load too,
for a few different ways packages are loaded.
The different load entry points add some complexity,
which is why the original approach seemed more attractive,
but the original approach had complexity that we simply
didn't recognize at the time.

This CL then rolls back the CL 109235 pattern-matching change,
but it keeps the test introduced in that CL. That test still passes.

In addition to fixing ambiguity due to case-sensitive file systems,
this new approach also very likely fixes various ambiguities that
might arise from abuse of symbolic links.

Fixes #24232.
Fixes #24456.
Fixes #24750.
Fixes #25046.
Fixes #25878.

Change-Id: I0b09825785dfb5112fb11494cff8527ebf57966f
Reviewed-on: https://go-review.googlesource.com/129059
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
rsc
cmd/go: report which patterns match each package in list
It's important for some uses of go/packages, as well as for some
of go/packages's internal use, to be able to tell which results from
go list output correspond to which patterns, keeping in mind that
a single package might have been matched by multiple patterns.

Also adds test for #26925.

Change-Id: I708ac162f65d9946fe6afb244b08dc7b04d2b530
Reviewed-on: https://go-review.googlesource.com/129060
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
rsc
cmd/go: do not turn list ./nonexist into a network lookup
If you're in a directory corresponding to x/y
and you run go list ./z, we do at some point
want to turn that into x/y/z. But if ./z does
not exist that will make the go command
check the network to see if it can find x/y/z.
That's clearly wrong: ./z means that directory,
nothing else. And it turns a typo into a long delay,
which is even worse.

Fixes #26874.

Change-Id: Iec15fa7b359af11b6a4fc6cb082e593658fb6e41
Reviewed-on: https://go-review.googlesource.com/129061
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
os: handle TMPDIR in TempDir on Plan 9
CL 129063 added a test in TestScript/mod_enabled,
which was failing on Plan 9.

The test was failing because the Init function
of the cmd/go/internal/modload package was
expecting ModRoot to be part of os.TempDir.

However, ModRoot was set to TMPDIR, while
os.TempDir is returning /tmp on Plan 9.

This change fixes the implementation of
os.TempDir on Plan 9 to handle the TMPDIR
environment variable, similarly to Unix.

Fixes #27065.

Change-Id: Id6ff926c5c379f63cab2dfc378fa6c15293fd453
Reviewed-on: https://go-review.googlesource.com/129775
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
cmd/go/internal/modfetch: correct TestCodeRepo expectation
The proxy protocol was simplified to only send
(and only receive) the Path and Version fields
in the JSON blob, not Name and Short.
(Those make sense when querying a VCS repo directly,
but not when talking about extracted modules.)
So don't expect them in the test.

Fixes #27042.

Change-Id: I3daacd668126e2227dcc8e6b89ee0cf0e3c8497c
Reviewed-on: https://go-review.googlesource.com/129684
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Aug 18, 2018
rsc
cmd/go: remove go mod fix, add go help go.mod
"go mod fix" does work already done by nearly every other go command.
It was also confusing why we had both "go mod fix" and "go mod tidy".
Delete "go mod fix".

The main reason we kept "go mod fix" this long was for the discussion
of automatic go.mod updates in its documentation, which is now moved
into a new "go help go.mod".

Fixes #26831.

Change-Id: Ic95ca8918449ab79791d27998e02eb3377ac7972
Reviewed-on: https://go-review.googlesource.com/129682
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go: treat VCS errors as hard errors in module search
If we're looking for a module for a/b/c/d/e,
we check for a module named a/b/c/d/e,
then a/b/c/d, then a/b/c, then a/b, then a.
If we know the source repo for a/b/c and that
fails, we should report that error instead of
continuing the loop: a/b and a are useless,
and the error from a/b/c contains important
information.

The errors are now a bit more verbose than
I'd like but they will suffice for Go 1.11.

$ go get github.com/bradfitz/private/sonos
go get github.com/bradfitz/private/sonos: git ls-remote -q origin in /Users/rsc/pkg/mod/cache/vcs/61e3c76780847e514802ec6af8f940f641c6017f711444f05c59cb17ac46d456: exit status 128:
	remote: Repository not found.
	fatal: repository 'https://github.com/bradfitz/private/' not found
$ go list launchpad.net/gocheck
can't load package: package launchpad.net/gocheck: unknown import path "launchpad.net/gocheck": bzr branch --use-existing-dir https://launchpad.net/~niemeyer/gocheck/trunk . in /Users/rsc/pkg/mod/cache/vcs/f46ce2ae80d31f9b0a29099baa203e3b6d269dace4e5357a2cf74bd109e13339: exec: "bzr": executable file not found in $PATH
$

Fixes #26885.
Fixes #26982.

Change-Id: I2f9cf1853d2d68af18adad668c80513b6ba220d6
Reviewed-on: https://go-review.googlesource.com/129683
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go: update TestGoGetUpdateWithWildcard expected behavior
If you run

	go get -u github.com/rsc/foo/bar...

then the go get command has always worked hard to make sure
that it applies the wildcard after downloading rsc/foo.
(If it applied the wildcard only before downloading rsc/foo,
it would match nothing if you had an empty GOPATH before,
and you'd still have an empty afterward, which is clearly useless.)

The goal has always been that if you run the same go get
command twice, the second command doesn't find anything
new to do.

CL 19892 worked around an "internal error" failure but broke
the rule about the first command doing everything the second
command would. Suppose you had github.com/rsc/foo already,
with just github.com/rsc/foo/bar, and you run

	go get -u github.com/rsc/...

The wildcard first matches github.com/rsc/foo/bar, but suppose
updating the repo pulls down github.com/rsc/foo/baz, which
in turn depends on the non-existent package github.com/rsc/quux.
We need to reevaluate the wildcard after the download.

The new pattern match refactoring makes this easier and happened
to have corrected the behavior, but we missed a long test that
expected the old behavior.

Fix that long test.

Change-Id: I088473e7a90925e5c0f9697da9554a11456ddd08
Reviewed-on: https://go-review.googlesource.com/129796
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
rsc
cmd/go: fix and reenable TestAccidentalGitCheckout
This is an important security problem so we shouldn't disable the test.
The second half was failing on case-sensitive file systems but the
first half is still good.

Fixes #22983.

Change-Id: I437bb4c9f78eb3177aa8b619e2357b2539566ca9
Reviewed-on: https://go-review.googlesource.com/129797
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go: allow 'go run x.go' to use nearby internal imports in module …
…mode

In GOPATH mode the rule has always been that 'go run x.go' can
import whatever the package in x.go's directory would be able to
import. Apply the same rule here.

The bad import path was triggering other mysterious errors
during 'go run' in other circumstances. Setting it correctly fixes
those too.

Fixes #26046.
Fixes #27022.

Change-Id: I0a9b0a154a20f48add5a199da85572e7ffe0cde4
Reviewed-on: https://go-review.googlesource.com/129798
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go: fix go mod tidy crash on empty module
Fixes #27066.

Change-Id: Iede4385ad86b42d7d90814965b161a7e64d29833
Reviewed-on: https://go-review.googlesource.com/129799
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go/internal/modconv: fix TestConvertLegacyConfig expectations
It was a bug to find that commit in the Masterminds/semver repo.
It's not part of the main repo but only part of an unmerged pull request.
The code was updated to try not to look at unmerged pull requests,
but the test was not. Worse, whether the code succeeds at not looking
at unmerged pull requests apparently depends on the git version.
Sigh.

Fixes #26754.
Fixes #27043.

Change-Id: Ib9e07f565906de4f1169244911a258396688f14d
Reviewed-on: https://go-review.googlesource.com/129800
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
rsc
cmd/go: fix module get -insecure
Need to actually use the flag for it to take effect.

Fixes #27049.

Change-Id: I57227b45f46f9dd67ecbf87c11bb2d08124bcfa0
Reviewed-on: https://go-review.googlesource.com/129801
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Aug 20, 2018
doc/go1.11: Delve 1.1.0 added support for method calls
Change-Id: I5f887f9831378cf76f5a9f447f481ea24c63f390
Reviewed-on: https://go-review.googlesource.com/129803
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
cmd/go: add missing newlines in printf formats
These are all errors given by module-aware cmd/go, so they must end with
a newline. It looks like they were omitted by mistake.

Fixes #27081.

Change-Id: I19b5803bb48a6d5dd52e857f483278fe20fe246b
Reviewed-on: https://go-review.googlesource.com/129780
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
[release-branch.go1.11] Merge branch 'master' into release-branch.go1.11
Change-Id: I4f09f847c7304e37df8388b45aa8d6281a677de3
Commits on Aug 21, 2018
[release-branch.go1.11] cmd/go: fix modload infinite directory loop
It is possible to enter the parent-walking directory loop in a way that
it will loop forever - if mdir is empty, and d reaches ".". To avoid
this, make sure that the 'd = filepath.Dir(d)' step only happens if the
parent directory is actually different than the current directory.

This fixes some of the tests like TestImport/golang.org_x_net_context,
which were never finishing before.

While at it, also fix TestImport/golang.org_x_net, which seems to have
the wrong expected error. The root of the x/net repo doesn't have a
go.mod file, nor is part of a module itself, so it seems like the
expected error should reflect that.

After these two changes, 'go test cmd/go/internal/modload' passes on my
linux/amd64 machine.

Fixes #27080.

Change-Id: Ie8bab0f9fbc9f447844cbbc64117420d9087db1b
Reviewed-on: https://go-review.googlesource.com/129778
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
(cherry picked from commit 692307a)
Reviewed-on: https://go-review.googlesource.com/130275
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Commits on Aug 22, 2018
[release-branch.go1.11] cmd/go: fix modload response for std-vendored…
… packages

This fixes a failure when using Go 1.11 to build App Engine code.

Change-Id: I008e8cf5ad4c568676d904deddff031a166f2d5d
Reviewed-on: https://go-review.googlesource.com/130138
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
(cherry picked from commit c652a1b)
Reviewed-on: https://go-review.googlesource.com/130616
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
[release-branch.go1.11] cmd/go: add go.sum entries to go mod download…
… -json output

Clients of 'go mod download', particularly proxies, may need
the hashes of the content they downloaded, for checking against
go.sum entries or recording elsewhere.

Change-Id: Ic36c882cefc540678e1bc5a3dae1e865d181aa69
Reviewed-on: https://go-review.googlesource.com/129802
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
(cherry picked from commit 46033d7)
Reviewed-on: https://go-review.googlesource.com/130615
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
[release-branch.go1.11] cmd/go: fix 'go help go.mod' example
Dropped the example referred to in the text
when copying this text out of 'go help mod fix'.

Fixes #27083.

Change-Id: I63dfa3033fa2b2408019eef9d8b5a055aa803c57
Reviewed-on: https://go-review.googlesource.com/130140
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
(cherry picked from commit 27ed675)
Reviewed-on: https://go-review.googlesource.com/130618
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
[release-branch.go1.11] cmd/go: fix list -compiled of package with on…
…ly tests

Fixes #27097.

Change-Id: I6aa48a1c58a21fd320b0e9dcd1f86c90172f0182
Reviewed-on: https://go-review.googlesource.com/130139
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
(cherry picked from commit df6aedb)
Reviewed-on: https://go-review.googlesource.com/130617
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
[release-branch.go1.11] crypto/tls: make ConnectionState.ExportKeying…
…Material a method

The unexported field is hidden from reflect based marshalers, which
would break otherwise. Also, make it return an error, as there are
multiple reasons it might fail.

Fixes #27131

Change-Id: I92adade2fe456103d2d5c0315629ca0256953764
Reviewed-on: https://go-review.googlesource.com/130535
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
(cherry picked from commit 240cb4c75fbe969364edb1a7f7ebd2d827831d34)
Reviewed-on: https://go-review.googlesource.com/130655
[release-branch.go1.11] internal/poll, net: fix sendfile on Windows, …
…add test

Fixes #27085

Change-Id: I4eb3ff7c76e0b8e4d8fe0298f739b0284d74a031
Reviewed-on: https://go-review.googlesource.com/130895
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
[release-branch.go1.11] go1.11rc2
Change-Id: Ib303cf7c8965d1d004f4c9e4935f9d4d54c5ee37
Reviewed-on: https://go-review.googlesource.com/130935
Run-TryBot: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Showing with 1,737 additions and 762 deletions.
  1. +1 −1 VERSION
  2. +1 −1 api/go1.11.txt
  3. +6 −45 doc/code.html
  4. +16 −5 doc/go1.11.html
  5. +14 −9 src/cmd/compile/internal/gc/reflect.go
  6. +4 −0 src/cmd/compile/internal/gc/ssa.go
  7. +113 −78 src/cmd/go/alldocs.go
  8. +42 −48 src/cmd/go/go_test.go
  9. +17 −32 src/cmd/go/internal/get/get.go
  10. +14 −0 src/cmd/go/internal/imports/scan.go
  11. +23 −20 src/cmd/go/internal/list/list.go
  12. +0 −50 src/cmd/go/internal/load/flag.go
  13. +107 −85 src/cmd/go/internal/load/pkg.go
  14. +1 −8 src/cmd/go/internal/load/search.go
  15. +25 −15 src/cmd/go/internal/modcmd/download.go
  16. +0 −65 src/cmd/go/internal/modcmd/fix.go
  17. +0 −1 src/cmd/go/internal/modcmd/mod.go
  18. +2 −1 src/cmd/go/internal/modcmd/tidy.go
  19. +13 −11 src/cmd/go/internal/modcmd/why.go
  20. +30 −22 src/cmd/go/internal/modconv/convert_test.go
  21. +17 −0 src/cmd/go/internal/modfetch/cache.go
  22. +14 −0 src/cmd/go/internal/modfetch/codehost/vcs.go
  23. +3 −4 src/cmd/go/internal/modfetch/coderepo_test.go
  24. +8 −3 src/cmd/go/internal/modfetch/fetch.go
  25. +13 −2 src/cmd/go/internal/modfetch/repo.go
  26. +4 −4 src/cmd/go/internal/modfile/rule.go
  27. +7 −6 src/cmd/go/internal/modget/get.go
  28. +11 −5 src/cmd/go/internal/modload/build.go
  29. +84 −5 src/cmd/go/internal/modload/help.go
  30. +12 −1 src/cmd/go/internal/modload/import.go
  31. +1 −1 src/cmd/go/internal/modload/import_test.go
  32. +15 −2 src/cmd/go/internal/modload/init.go
  33. +152 −66 src/cmd/go/internal/modload/load.go
  34. +6 −0 src/cmd/go/internal/modload/query.go
  35. +57 −62 src/cmd/go/internal/search/search.go
  36. +5 −5 src/cmd/go/internal/work/build.go
  37. +1 −0 src/cmd/go/main.go
  38. +71 −0 src/cmd/go/testdata/script/gcflags_patterns.txt
  39. +2 −0 src/cmd/go/testdata/script/mod_download.txt
  40. +9 −0 src/cmd/go/testdata/script/mod_enabled.txt
  41. +12 −0 src/cmd/go/testdata/script/mod_fs_patterns.txt
  42. +2 −2 src/cmd/go/testdata/script/mod_get_commit.txt
  43. +4 −1 src/cmd/go/testdata/script/mod_list_dir.txt
  44. +16 −0 src/cmd/go/testdata/script/mod_list_test.txt
  45. +23 −32 src/cmd/go/testdata/script/mod_patterns.txt
  46. +46 −0 src/cmd/go/testdata/script/mod_run_internal.txt
  47. +15 −0 src/cmd/go/testdata/script/mod_run_path.txt
  48. +19 −0 src/cmd/go/testdata/script/mod_std_vendor.txt
  49. +7 −0 src/cmd/go/testdata/script/mod_tidy.txt
  50. +11 −0 src/cmd/go/testdata/script/mod_vcs_missing.txt
  51. +14 −0 src/cmd/vet/print.go
  52. +4 −0 src/cmd/vet/testdata/print.go
  53. +10 −5 src/crypto/tls/common.go
  54. +3 −3 src/crypto/tls/conn.go
  55. +18 −0 src/crypto/tls/handshake_client_test.go
  56. +18 −0 src/crypto/tls/handshake_server_test.go
  57. +8 −8 src/crypto/tls/prf.go
  58. +6 −6 src/crypto/tls/prf_test.go
  59. +89 −0 src/crypto/tls/testdata/Client-TLSv10-ExportKeyingMaterial
  60. +84 −0 src/crypto/tls/testdata/Client-TLSv12-ExportKeyingMaterial
  61. +92 −0 src/crypto/tls/testdata/Server-TLSv10-ExportKeyingMaterial
  62. +92 −0 src/crypto/tls/testdata/Server-TLSv12-ExportKeyingMaterial
  63. +9 −0 src/crypto/tls/tls_test.go
  64. +13 −1 src/go/doc/comment.go
  65. +29 −29 src/go/printer/nodes.go
  66. +33 −0 src/go/printer/testdata/alignment.golden
  67. +40 −0 src/go/printer/testdata/alignment.input
  68. +2 −2 src/internal/poll/sendfile_windows.go
  69. +61 −0 src/net/sendfile_test.go
  70. +6 −1 src/os/file_plan9.go
  71. +5 −5 src/runtime/runtime2.go
  72. +2 −2 src/runtime/sys_darwin_amd64.s
  73. +2 −2 src/runtime/sys_darwin_arm64.s
  74. +21 −0 test/closure4.go
View
@@ -1 +1 @@
go1.11rc1
go1.11rc2
View
@@ -1,7 +1,7 @@
pkg crypto/cipher, func NewGCMWithTagSize(Block, int) (AEAD, error)
pkg crypto/rsa, method (*PrivateKey) Size() int
pkg crypto/rsa, method (*PublicKey) Size() int
pkg crypto/tls, type ConnectionState struct, ExportKeyingMaterial func(string, []uint8, int) ([]uint8, bool)
pkg crypto/tls, method (*ConnectionState) ExportKeyingMaterial(string, []uint8, int) ([]uint8, error)
pkg database/sql, method (IsolationLevel) String() string
pkg database/sql, type DBStats struct, Idle int
pkg database/sql, type DBStats struct, InUse int
View
@@ -44,18 +44,16 @@ <h3 id="Overview">Overview</h3>
<h3 id="Workspaces">Workspaces</h3>
<p>
A workspace is a directory hierarchy with three directories at its root:
A workspace is a directory hierarchy with two directories at its root:
</p>
<ul>
<li><code>src</code> contains Go source files,
<li><code>pkg</code> contains package objects, and
<li><code>src</code> contains Go source files, and
<li><code>bin</code> contains executable commands.
</ul>
<p>
The <code>go</code> tool builds source packages and installs the resulting
binaries to the <code>pkg</code> and <code>bin</code> directories.
The <code>go</code> tool builds and installs binaries to the <code>bin</code> directory.
</p>
<p>
@@ -72,10 +70,6 @@ <h3 id="Workspaces">Workspaces</h3>
bin/
hello # command executable
outyet # command executable
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a # package object
src/
<a href="https://github.com/golang/example/">github.com/golang/example/</a>
.git/ # Git repository metadata
@@ -374,9 +368,8 @@ <h3 id="Library">Your first library</h3>
</pre>
<p>
This won't produce an output file. To do that, you must use <code>go
install</code>, which places the package object inside the <code>pkg</code>
directory of the workspace.
This won't produce an output file.
Instead it saves the compiled package in the local build cache.
</p>
<p>
@@ -400,19 +393,13 @@ <h3 id="Library">Your first library</h3>
</pre>
<p>
Whenever the <code>go</code> tool installs a package or binary, it also
installs whatever dependencies it has.
So when you install the <code>hello</code> program
Install the <code>hello</code> program:
</p>
<pre>
$ <b>go install github.com/user/hello</b>
</pre>
<p>
the <code>stringutil</code> package will be installed as well, automatically.
</p>
<p>
Running the new version of the program, you should see a new, reversed message:
</p>
@@ -429,10 +416,6 @@ <h3 id="Library">Your first library</h3>
<pre>
bin/
hello # command executable
pkg/
linux_amd64/ # this will reflect your OS and architecture
github.com/user/
stringutil.a # package object
src/
github.com/user/
hello/
@@ -441,22 +424,6 @@ <h3 id="Library">Your first library</h3>
reverse.go # package source
</pre>
<p>
Note that <code>go install</code> placed the <code>stringutil.a</code> object
in a directory inside <code>pkg/linux_amd64</code> that mirrors its source
directory.
This is so that future invocations of the <code>go</code> tool can find the
package object and avoid recompiling the package unnecessarily.
The <code>linux_amd64</code> part is there to aid in cross-compilation,
and will reflect the operating system and architecture of your system.
</p>
<p>
Go command executables are statically linked; the package objects need not
be present to run Go programs.
</p>
<h3 id="PackageNames">Package names</h3>
<p>
@@ -597,12 +564,6 @@ <h2 id="remote">Remote packages</h2>
<pre>
bin/
hello # command executable
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a # package object
github.com/user/
stringutil.a # package object
src/
github.com/golang/example/
.git/ # Git repository metadata
View
@@ -167,7 +167,18 @@ <h3 id="importpath">Import path restriction</h3>
<h3 id="gopackages">Package loading</h3>
<p>
TODO: Note about go/build versus golang.org/x/tools/go/packages.
The new package
<a href="https://godoc.org/golang.org/x/tools/go/packages"><code>golang.org/x/tools/go/packages</code></a>
provides a simple API for locating and loading packages of Go source code.
Although not yet part of the standard library, for many tasks it
effectively replaces the <a href="/pkg/go/build"><code>go/build</code></a>
package, whose API is unable to fully support modules.
Because it runs an external query command such as
<a href="/cmd/go/#hdr-List_packages"><code>go list</code></a>
to obtain information about Go packages, it enables the construction of
analysis tools that work equally well with alternative build systems
such as <a href="https://bazel.build">Bazel</a>
and <a href="https://buckbuild.com">Buck</a>.
</p>
<h3 id="gocache">Build cache requirement</h3>
@@ -262,9 +273,8 @@ <h3 id="debugging">Debugging</h3>
This is useful, for example, to call <code>String</code> methods
when paused at a breakpoint.
<!-- TODO(austin): Make sure methods calls are actually supported by Delve -->
This is currently only supported by Delve.
This is currently only supported by Delve (version 1.1.0 and up).
</p>
<h3 id="test">Test</h3>
@@ -490,7 +500,8 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
<dd>
<p><!-- CL 85115 -->
<a href="/pkg/crypto/tls/#ConnectionState"><code>ConnectionState</code></a>'s new
<code>ExportKeyingMaterial</code> field allows exporting keying material bound to the
<a href="/pkg/crypto/tls/#ConnectionState.ExportKeyingMaterial"><code>ExportKeyingMaterial</code></a>
method allows exporting keying material bound to the
connection according to RFC 5705.
</p>
@@ -793,7 +804,7 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
<!-- CL 101715 was reverted -->
<dl id="runtime"><dt><a href="/pkg/runtime/">runtime</a></dt>
<dl id="runtime-again"><dt><a href="/pkg/runtime/">runtime</a></dt>
<dd>
<p><!-- CL 70993 -->
@@ -34,8 +34,9 @@ type ptabEntry struct {
// runtime interface and reflection data structures
var (
signatsetmu sync.Mutex // protects signatset
signatmu sync.Mutex // protects signatset and signatslice
signatset = make(map[*types.Type]struct{})
signatslice []*types.Type
itabs []itabEntry
ptabs []ptabEntry
@@ -960,9 +961,9 @@ func typesymprefix(prefix string, t *types.Type) *types.Sym {
// This function is for looking up type-related generated functions
// (e.g. eq and hash). Make sure they are indeed generated.
signatsetmu.Lock()
signatmu.Lock()
addsignat(t)
signatsetmu.Unlock()
signatmu.Unlock()
//print("algsym: %s -> %+S\n", p, s);
@@ -974,9 +975,9 @@ func typenamesym(t *types.Type) *types.Sym {
Fatalf("typenamesym %v", t)
}
s := typesym(t)
signatsetmu.Lock()
signatmu.Lock()
addsignat(t)
signatsetmu.Unlock()
signatmu.Unlock()
return s
}
@@ -1447,7 +1448,10 @@ func itabsym(it *obj.LSym, offset int64) *obj.LSym {
// addsignat ensures that a runtime type descriptor is emitted for t.
func addsignat(t *types.Type) {
signatset[t] = struct{}{}
if _, ok := signatset[t]; !ok {
signatset[t] = struct{}{}
signatslice = append(signatslice, t)
}
}
func addsignats(dcls []*Node) {
@@ -1462,14 +1466,15 @@ func addsignats(dcls []*Node) {
func dumpsignats() {
// Process signatset. Use a loop, as dtypesym adds
// entries to signatset while it is being processed.
signats := make([]typeAndStr, len(signatset))
for len(signatset) > 0 {
signats := make([]typeAndStr, len(signatslice))
for len(signatslice) > 0 {
signats = signats[:0]
// Transfer entries to a slice and sort, for reproducible builds.
for t := range signatset {
for _, t := range signatslice {
signats = append(signats, typeAndStr{t: t, short: typesymname(t), regular: t.String()})
delete(signatset, t)
}
signatslice = signatslice[:0]
sort.Sort(typesByString(signats))
for _, ts := range signats {
t := ts.t
@@ -3515,6 +3515,10 @@ func (s *state) call(n *Node, k callKind) *ssa.Value {
break
}
closure = s.expr(fn)
if thearch.LinkArch.Family == sys.Wasm {
// TODO(neelance): On other architectures this should be eliminated by the optimization steps
s.nilCheck(closure)
}
case OCALLMETH:
if fn.Op != ODOTMETH {
Fatalf("OCALLMETH: n.Left not an ODOTMETH: %v", fn)
Oops, something went wrong.

No commit comments for this range