4 ms·
Since, I don't know D, I am curious whether D-code is written in such a way that objects are assumed to be non-moving, especially when interfacing with C.
by readittwice 9y ago
Since, I don't know D, I am curious whether D-code is written in such a way that objects are assumed to be non-moving, especially when interfacing with C.
- chrisseaton 9y agoAh, yes maybe FFI and also perhaps inner pointers.
- biotronic 9y agoThe spec says the GC may move, though the current GC doesn't do that: https://dlang.org/spec/garbage.html#obj_pinning_and_gc https://dlang.org/spec/garbage.html#obj_pinning_and_gc There's also been some work on a precise GC for D: https://forum.dlang.org/post/hdwwkzqswwtffjehenjt@forum.dlang.org https://forum.dlang.org/post/hdwwkzqswwtffjehenjt@forum.dlan...
- nicwilson 9y ago> written in such a way that objects are assumed to be non-moving Not generally, but you can take the address of anything and shove it into a union or pass it off to C code that stores it somewhere. Because you can, it would be very dangerous to move objects around because of that.