How Go detects struct copies with sync.noCopy

func25.dev

40 points by func25 4 days ago


meerita - an hour ago

I spoke with Aliaksandr Valialkin (author of noCopy) and he gave me his reasons:

- https://x.com/valyala/status/2088638160242683954

He also gave an answer of what he would change now: https://itnext.io/go-evolves-in-the-wrong-direction-7dfda8a1...

It seems he's not happy anymore with the new direction of Go because they're implementing things from other languages.

woadwarrior01 - 4 hours ago

> noCopy is a special marker for types that must not be copied after their first use.

if it looks like a hack, walks like a hack, and quacks like a hack...

CamouflagedKiwi - 3 hours ago

This feels like it should ideally be something public in the structs package so anyone can leverage it, not just a specially blessed internal thing for the sync package.

- an hour ago
[deleted]
fithisux - an hour ago

Very good article. Interesting approach working in harmony with `go vet`.