If you had this type I interface { ... } type T struct { sync.Mutex } var t T var i I = t
This is a mistake because a *copy* of the contents of t is assigned to i. Every assignment in Go is a copy, there are no exceptions. To solve this assignment the *address* of t to I. var i I = &t Or more suscinctly var i I = &T{ .... } -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.