- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
Closed
Labels
A-UnicodeArea: UnicodeArea: Unicode
Description
The new Path module (coming soon) represents POSIX paths as vectors (#7225) of non-NUL bytes instead of as ~str. This is because Linux allows for non-unicode paths.
Unfortunately, there are a lot of clients of Path, including related functionality like Process arguments and environment variables, that still use &str. These need to be updated to handle &[u8] so they can represent non-unicode Paths.
All of the known locations where this is an issue are marked up by // FIXME lines referencing this issue. Note that in the case of Process args and environments, these comments are at the usage locations rather than the implementation.
Sub-tasks that have been filed for various components:
-  glob("*") does not support matching non-utf8 filenames #11916 glob("*")does not support matching non-utf8 filenames
-  Process::new and dynamic_library::open_external should take &[u8]s, not Paths or ~strs #11650 Process::newanddynamic_library::open_externalshould take&[u8]s, notPaths or~strs
Metadata
Metadata
Assignees
Labels
A-UnicodeArea: UnicodeArea: Unicode