3 ms·
Curious why you would call that a memory leak? The memory is still accounted for in the Vec and will get released properly when it deallocates, right? This look
by tremon 2y ago
Curious why you would call that a memory leak? The memory is still accounted for in the Vec and will get released properly when it deallocates, right? This looks like optimizing memory usage to me, not plugging a leak.
- burntsushi 2y agoHow do you define a leak? If you sit down and really think about it, I think you'll find that a precise definition of a leak is actually somewhat difficult. I am nowhere near the first person to make this observation. I point this out to avoid a big long thread in which we just argue about what the word "leak" means. You could absolutely define "leak" in a way that my example is not a leak. But I prefer a definition in which "leak" does include my example. I do not care to litigate the definition. If you want to recast my example as a "space" leak instead of a "memory" leak, then I don't object, and I don't think it changes the relevance of my example. (Which I think is absolutely consistent with the context of this thread.) In particular, I don't think "memory leak" in this thread is being used in a very precise manner.
- mercurial 2y agoShort of using a different data structure, I'm not sure how you would get out of that one. The claim was that some of these leaks ("leaks"?) could be avoided by using a language with a GC. As far as I know, most modern languages' equivalent of Vec will do exactly the same thing, GC or not.
- burntsushi 2y agoI was responding to this: > so leaks are a fact of life in basically every major Rust project I've seen not written by somebody like BurntSushi And yes, I said I considered their overall argument specious.