Otherwise the relevant warnings get swamped by a huge amount by irrelevant warnings.
This is why running Valgrind on Python code does not work.
So you are confirming the problem, but treating it as if ignoring it is the solution for all?
Love that they have taken this route, this is the way bootstraped toolchains should be, minimal building blocks and everything else on the language itself.
That's already possible and documented[1]. I don't understand if you're sarcastic though, what's wrong with GDB? I use it in vim :termdebug and I wish all languages had native support for it.
Nothing wrong with adding tried and tested tools later if people want them.
Did you have a need for Valgrind in Go that wasn't served by any other tools until now?
defraudbah•1h ago
felixge•1h ago
[1] https://github.com/cloudwego/goref
Disclaimer: I work on continuous profiling for Datadog and contribute to the profiling features in the runtime.
pjmlp•54m ago
As it is, the only way to currently handle that is with " -gcflags -m=3" or using something like VSCode Go plugin, via "ui.codelenses" and "ui.diagnostic.annotations" configurations.
johncolanduoni•11m ago
Thaxll•45m ago
0x696C6961•39m ago
sim7c00•31m ago
do you think they will enable Valgrind if there's no leaks?
johncolanduoni•15m ago
Most other widely used GCed languages don’t allow the use of arbitrary interior pointers (though most GCs can actually handle them at the register level).
aleksi•7m ago
While Go allows interior pointers, I don't think what you say is true. runtime.KeepAlive was added exactly to prevent GC from collecting the struct when only a field pointer is stored. Take a look at the example: https://pkg.go.dev/runtime#KeepAlive
dijit•12m ago
A common one I see fairly often is opening a big file, creating a “new slice” on a subset of the file and then using the “new slice” and expecting the old large object to be dropped.
Except, the “new slice” is just a reference into the larger slice, so its never marked unused.
giancarlostoro•6m ago
throwaw12•11m ago