autogold
autogold copied to clipboard
valast: slice `got` generates want for which some linters show a warning
See this example:
tests := []struct {
name string
want autogold.Value
}{
{name: "good", want: autogold.Want("good", []A{A{
A: valast.Addr("abc").(*string),
B: "def",
C: valast.Addr(false).(*bool),
D: valast.Addr(true).(*bool),
}})},
}
[]A{A{ could be rewritten as []A{{. I'm not sure whether it s a linter or some other tool but the second A being there shows up as a warning in my code. It would be awesome if that could be avoided. Else I'd have to remote the A on every want-change, because it gets readded there again.
Another option would be to ignore this, but it would be nice if avoiding to write the A would be possible. :-)
The warning:
redundant type from array, slice, or map composite literalsimplifycompositelit
Thanks for filing this! I'll see if I can fix this soon (maybe around the weekend).
I agree it should be written as []A{{ here, it shouldn't be too hard to get valast to start emitting this style (we already do something similar for e.g. type unqualification in struct fields where a type is not needed.)
I don't know whether this is more about gofumpt or about valast. I found https://github.com/mvdan/gofumpt/blob/5bfeb2e70dd63f342c452468cca2ee21e180f91c/simplify.go#L105 which comes from cmd/gofmt. I thought the comment there hints that it should be adressed, but I'm uncertain. Thank you!