On Tue, Dec 5, 2017 at 2:00 PM, Gregory Szorc <g...@mozilla.com> wrote:
> Many programming languages paper over these subtle differences leading to > badness. For example, the preferred path APIs for Python and Rust assume > paths are Unicode (they have their own logic to perform encoding/decoding > behind the scenes and depending on settings, run-time failures or data loss > can occur). I don't think that's true for Rust. Rust's `Path` and `PathBuf` are the preferred data types and wrap an underlying `OsStr`/`OsString`, which claims to be able to represent any path for the target platform. On Linux an `OsString` is just an array of bytes with no specified encoding, and on Windows it appears to be an array of WTF-8 bytes, so that claim seems valid. Of course PathBuf isn't exactly what you want for an application like Mercurial, since there I guess you want a type that represents any path from any platform, including platforms other than the target platform... Rob -- lbir ye,ea yer.tnietoehr rdn rdsme,anea lurpr edna e hnysnenh hhe uresyf toD selthor stor edna siewaoeodm or v sstvr esBa kbvted,t rdsme,aoreseoouoto o l euetiuruewFa kbn e hnystoivateweh uresyf tulsa rehr rdm or rnea lurpr .a war hsrer holsa rodvted,t nenh hneireseoouot.tniesiewaoeivatewt sstvr esn _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform