The proxy has a clear privacy policy: https://proxy.golang.org/privacy It collects anonymized usage metrics like other package registries (rubygems.org, nuget.org, crates.io) do.
https://www.nuget.org/packages
... they all show download statistics of their packages.
Deleted Comment
err := h(cond(x) ? f(x) : g(x))
vs var temp T
if cond(x) {
temp = f(x)
} else {
temp = g(x)
}
err := h(temp)
Hopefully, this can be improved with generics, e.g. now it should be possible to create e.g. `func Coalesce (type T) (...args T) T` function to simplify common scenarios.Ken Thompson added ?: to B / C and then he took it from us in Go due to the wisdom he gathered in between.
"And even that traversal is not sufficient in the general case when type reflection gets involved, as reflection might look up methods based on strings input by the user. So in general instantiating parameterized methods in the linker might require instantiating every parameterized method for every possible type argument, which seems untenable."
So methods with type parameters would a) not be usable with interfaces and b) not be usable with reflection.
Actually it does:
"Or, we could decide that parameterized methods do not, in fact, implement interfaces, but then it's much less clear why we need methods at all. If we disregard interfaces, any parameterized method can be implemented as a parameterized function."
https://go.googlesource.com/proposal/+/refs/heads/master/des...