golang/go
cmd/compile: clearer error message for unkeyed composite literal with unexported field
Closed
#28,053 opened on Oct 6, 2018
BadErrorMessageFixPendingcompiler/runtimehelp wanted
Repository metrics
- Stars
- (133,883 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
I have a struct:
package df
type SortKey struct {
Key interface{}
SortDesc bool
seriesIndex int
}
From an outside package:
TRY 1
z := df.SortKey{"n", false}
Compiler error: too few values in df.SortKey literal
TRY 2
z := df.SortKey{"n", false, 0}
Compiler error: implicit assignment of unexported field 'seriesIndex' in df.SortKey literal
You can't win. Perhaps it should just be disallowed for Go 2 - It messes up backwards compatibility anyway amongst minor versions of packages (eg. net/http.Request and Context situation).