logoalt Hacker News

How Go detects struct copies with sync.noCopy

37 pointsby func25last Thursday at 12:33 PM37 commentsview on HN

Comments

meeritatoday at 2:37 PM

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.

show 2 replies
woadwarrior01today at 12:02 PM

> 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...

show 4 replies
CamouflagedKiwitoday at 12:34 PM

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.

fithisuxtoday at 2:51 PM

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