HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jiwangcdi

no profile record

comments

jiwangcdi
·vor 2 Jahren·discuss
So abstraction is still a point, but Rust cares about memory layout as well.
jiwangcdi
·vor 2 Jahren·discuss
Then if Path is not about abstraction, why not use a raw byte slice like &[u8]
jiwangcdi
·vor 2 Jahren·discuss
> The next noisy element is the <P: AsRef<Path>> constraint. It is needed because Rust loves exposing physical layout of bytes in memory as an interface, specifically for cases where that brings performance. In particular, the meaning of Path is not that it is some abstract representation of a file path, but that it is just literally a bunch of contiguous bytes in memory.

I can't understand this. Isn't this for polymorphism like what we do this:

```rust fn some_function(a: impl ToString) -> String { a.to_string(); } ```

What to do with memory layout? Thanks for any explanation.