Hacker News new | ask | show | jobs
by foldr 1312 days ago
I'm not seeing how that would cause a memory leak. It just means that the value might be GCed a bit later. Could you give an example?
1 comments

It’s a temporary leak. My point is that it’s an actual side effect, unlike how in C it has no effect whatsoever if the value is ignored.

In a language where destruction of an object often releases external resources (C++, for example, or Python or Rust to a lesser extent), this effect would be more dramatic. Imagine someone doing this in Python:

    def func():
      f = tmpfile(…)
      err = do something
      return f, err
This style would be absurd and wrong — it keeps f alive to long.