Thanks, I actually did a test for this by calling runtime.GC() within the function and it is indeed collected.
On Wednesday, October 19, 2016 at 5:43:47 PM UTC+1, Ian Lance Taylor wrote: > > On Wed, Oct 19, 2016 at 9:04 AM, <andrew...@miracl.com <javascript:>> > wrote: > >> I have a follow up question. In the above example does golang give any > >> guarantee about the earliest point at which the temporay WrappedString > >> instance is collected. I mean, is it possible that the GC will collect > the > >> WrappedString whilst the function simulatedCall is still executing (and > >> thereby destroying the gchar* string whilst in use) : > > > > > > > > simulatedCCall(NewWrappedString("fred").s) > > Yes, for code like that it is unlikely but possible that the memory > allocated by NewWrappedString will be collected, and the finalizer > run, while executing the function. Use runtime.KeepAlive to avoid > this. > > Ian > -- 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.