
f := foo{}
foo.bar(f)
// same as
f := foo{}
f.bar()
Я так понимаю это было сделано из-за легаси с С (хотя я скорее ошибаюсь и теплю).
Это вполне мог бы быть каверзный вопрос на собесе ради забавы и диалога, но кто знает, можно и человека завалить с аргументацией "мда...не знаешь спецификацию такого простого языка".
Спецификация: https://golang.org/ref/spec#Method_expressions
И как-то эта штуковина нам не понравилась и мы добавили проверку в go-critic, чтобы её лишний раз не использовали :)
https://go-critic.github.io/overview.html#methodexprcall