Damien Neil
Damien Neil
@bcmills Simplest approach I can think of: `panic` always converts `nil` to `runtime.NilPanic`. In a pre-`go1.15` package, `recover` converts it back into `nil`. So if a `go1.13` package passes `(interface{})(nil)`...
This is two proposals. One is an adjustment to composite literals to permit replacing the name of a struct type with `_`. The other introduces "struct constants". These two changes...
> This proposal makes a deliberate choice that an anonymous composite literal represents a struct literal, not a map, slice or array literal. The main reason for doing this is...
> Personally, I don't find it that odd, because in a large struct, there can be significant cognitive overhead in understanding complex composite literals, particularly when literals omit keys. To...
> When you get to multiple levels and struct fields with heterogeneous types, that quickly adds a lot of cognitive overhead, which is why I don't support #12854. I'm confused...
> It's not really an optimisation as such. It's disambiguating syntax, both for the user (I do believe that knowing it's always a struct type is helpful) and for tools...
Also before, on Go 1.19.5: ``` In: /a/b/c | Out: \\a\b\c In: /a/b/../../c | Out: \\a\b\c ``` What's going on here is quite subtle. On Windows, `filepath.Clean` preserves the volume...
Created a new issue #58451 to reject volume names containing a ".." path component, closing this issue in favor of that one.
Added a watchflakes stanza to the issue description.
(Still waiting for a flake with the additional tracing; the one at a45bbeae predates the tracing.)