-
Notifications
You must be signed in to change notification settings - Fork 570
Go 1.10 support. #725
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I've started looking into this on The current status is that
Edit: This has been resolved in 2fd19ac. |
Made good progress so far. Go 1.10 seems to have relatively few breaking internal changes to update for (so far). As of commit e092078, on macOS where I'm doing development,
The Go reposiory compiler tests (
On Linux, it's running into some issue causing it block and never complete, so nothing works in CircleCI right now. I'll make things work on macOS first, then switch to Linux to fix the rest of the issues. |
@shurcooL thanks for doing this. Not sure if your aware of this ?
|
@gedw99 the Go 1.10 support is being developed on a branch. A plain cd `go list -f '{{.Dir}}' github.com/gopherjs/gopherjs`
git fetch
git checkout -f origin/go1.10
go install Hope that helps. |
@myitcv cheers. will give it a go. |
Got all
|
make an announced asking for users to test on reddit or wherever ? |
It's not ready for testing yet. When it is, I will announce that. |
ok cool.
i will play with it
…On Thu, 14 Dec 2017 at 23:31 Dmitri Shuralyov ***@***.***> wrote:
It's not ready for testing yet. When it is, I will announce that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#725 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ATuCwmUa0yFUquQKSXQJLG3GKg1vfztJks5tAaG-gaJpZM4Q6oZ4>
.
|
Addressed some of the remaining TODOs (but not all) in the Moving onto the remaining packages with failing tests on macOS. |
Package
|
A few small updates on my progress here. Most notably, I've figured out the Linux issue causing stalls, making CI output completely useless. It was an incorrect implementation of Also, I've found that commit 2f2d5b3 was incorrect/incomplete and reverted it in da23df8. I decided to go in the opposite direction and found a valid fix that didn't break other things in 0cb05c5. With all that, CI is pretty close to passing. Next up I'll triage the 5 new fails in |
That has been done in commit 0964c58. Now, what's left are following 4 failures in CI (i.e., on Linux):
(They also reproduce on macOS.) |
I've figured out the Three more to go. |
Fixing Done in commit e11ce77. |
Working on the Only 1 more thing left to investigate go now:
|
I'm actively investigating the This wasn't trivial to track down. I started with the following simplified test case from package main
import (
"bytes"
"html/template"
)
func main() {
tmpl := template.Must(template.New("x").Parse("{{.E}}"))
got := new(bytes.Buffer)
testData := struct{ E error }{} // any non-empty interface here will do; error is just ready at hand
tmpl.Execute(got, testData)
}
This was a bad failure because it's not a new test, but rather a regression. It worked fine in GopherJS 1.9-*, see https://gopherjs.github.io/playground/#/IE9P-DGnM8 (at this time, GopherJS Playground is still on 1.9). I modified GopherJS reflect code to print the value of I made a local copy of // indirectToStringerOrError returns the value, after dereferencing as many times
// as necessary to reach the base type (or nil) or an implementation of fmt.Stringer
// or error,
func indirectToStringerOrError(a interface{}) interface{} {
if a == nil {
println("indirectToStringerOrError: was nil")
return nil
}
panic("indirectToStringerOrError: wasn't nil!")
v := reflect.ValueOf(a)
for !v.Type().Implements(fmtStringerType) && !v.Type().Implements(errorType) && v.Kind() == reflect.Ptr && !v.IsNil() {
v = v.Elem()
}
return v.Interface()
} What should've been happening (for the sample input of the test program) is The problem was related to commit 1fb1aaa, which tried to fix a failing test, but (as the commit message hinted), it was not a complete fix. Instead of fixing the real problem, it was simply masking one of its symptoms, allowing Then I started looking at the issue golang/go#22143, and commit golang/go@eafa29b that resolved it for Edit: Fix pushed in 28e102c. 🤞 |
I continue to be impressed by the thoroughness of your GitHub-fu. |
I'm getting the following since upgrading to go 1.10:
any chance it's related? |
@jvsteiner Did you rebuild |
my mistake, working now. sorry for spam. for others who failed to RTFM upthread:
|
This is an issue to track work to support Go 1.10.
go1.10beta1
has been released today.I plan to explore this in the next few coming days.
The text was updated successfully, but these errors were encountered: