-
Notifications
You must be signed in to change notification settings - Fork 926
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
Reflect refactor caused non-deterministic builds #3504
Comments
Smaller reproducer: package main
type Thing struct {
name string
}
func (t Thing) Foo() {
}
type Printer interface {
Foo()
}
func main() {
var t Printer = &Thing{"foo"}
defer t.Foo()
} |
deadprogram
added
bug
Something isn't working
next-release
Will be part of next release
core
labels
Mar 2, 2023
This was introduced and fixed during the current release cycle, so closing. |
conejoninja
pushed a commit
to conejoninja/tinygo
that referenced
this issue
Mar 22, 2023
This non-determinism was introduced in tinygo-org#2640. Non-determinism in the compiler is a bug because it makes it harder to find whether a compiler change actually affected the binary. Fixes tinygo-org#3504
LiuJiazheng
pushed a commit
to LiuJiazheng/tinygo
that referenced
this issue
Aug 20, 2023
This non-determinism was introduced in tinygo-org#2640. Non-determinism in the compiler is a bug because it makes it harder to find whether a compiler change actually affected the binary. Fixes tinygo-org#3504
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I found that TinyGo does not produce deterministic results anymore:
I bisected this to 4e84531, which is the reflect refactor.
The text was updated successfully, but these errors were encountered: