3 ms·
The first one would be caught in Rust as it has no integer -> boolean automatic conversions (similar to Java). The second one could only arise with unsafe poin
by eddyb 11y ago
The first one would be caught in Rust as it has no integer -> boolean automatic conversions (similar to Java).
The second one could only arise with unsafe pointers in Rust, as safe code uses slices, combining the base pointer and the element count in a single value.
- masklinn 11y ago> The second one could only arise with unsafe pointers in Rust, as safe code uses slices, combining the base pointer and the element count in a single value. OTOH the point here is to pass a preallocated but "uninitialised" buffer to the callee, which Rust wouldn't allow with slices, unless you created a slice from a raw allocation (I don't know if that's defined behaviour, though I guess you could do that safely by passing in a Write rather than the slice itself, but then you're Write-ing to a slice which has… interesting behaviour)