Ah awesome. Thanks! I've updated the blog post with your explanation. :) Cheers, Tom
On Wed, Dec 5, 2012 at 6:07 PM, Niko Matsakis <n...@alum.mit.edu> wrote: > Great article. Regarding why ~[T] and ~T behave somewhat differently, the > reason is that the size of [T] is not known to the compiler! It's kind of > like how in C, if you have T[3], that's a perfectly fine type, but T[] is > sort of a degenerate type that gets converted to T* willy-nilly. The > reason is that the compiler can't really manipulate an "unknown number of > T's in a row", which is what [T] (Rust) and T[] (C) represent. As an > example, it can't put such a value on the stack, since it doesn't know how > much stack space to allocate (well, it can't put that on the stack without > using alloca() or something similar). > > > Niko > > Tom Lee wrote: > >> Hey folks, >> >> Don't mean to spam, but I wrote a blog post last night about memory >> management in Rust as I understand it, both based on my own experience with >> the language so far and a few conversations on the #rust channel: >> >> http://tomlee.co/2012/12/**managed-and-owned-boxes-in-** >> the-rust-programming-language/<http://tomlee.co/2012/12/managed-and-owned-boxes-in-the-rust-programming-language/> >> >> If anybody's up for giving it a read over, I'm really keen to know if I'm >> "getting it" or if I'm still confused :) I think I'm essentially rewording >> what's in the tutorial, but for some reason I struggled to digest the >> details for a while. >> >> I'm still not sure I understand why the exchange stack is exposed >> syntactically if you can't directly use it to transfer ownership between >> tasks (i.e. you still have to resort to pipes etc. which use the exchange >> stack under the hood). >> >> Appreciate any clarification or thoughts! >> >> Cheers, >> Tom >> ______________________________**_________________ >> Rust-dev mailing list >> Rust-dev@mozilla.org >> https://mail.mozilla.org/**listinfo/rust-dev<https://mail.mozilla.org/listinfo/rust-dev> >> >
_______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev