-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rustdoc files have naming collisions on case-insensitive file systems #76922
Comments
Perhaps the directories could be marked as case-sensitive? Although that's a relatively recent windows 10 feature for WSL. |
This is an issue on macOS too! The URLs at doc.rust-lang.org/std are case-sensitive, but docs from my local filesystem ( @rustbot modify labels: O-macos |
Copying over a comment from i-rl-o: The non_ascii_idents RFC punts on non-ascii file paths due to file system concerns, which is tangentially related, especially for one key reason: It'd be nice if the same mangling scheme(s) could be used both for names/paths that don't work on the filesystem/URLs due to non-ascii paths as for case-sensitivity within ASCII. The "standard" web solution for non-ascii domain names is punycode. I tested FireFox, and it currently "demangles" punycode in the domain name but not in the path part of the URL (and I have no idea whether standards say one way or the other whether punycode de-mangling should/n't be done on specific parts of the URL), but we still could theoretically reuse the same mangling scheme if Unicode names are a problem. Unfortunately, punycode (deliberately) is no help in the ASCII range, so this probably isn't much help to the actual tracked issue here 🙃 |
One other comment from the same thread, from @ogoffart: A good potential solution is to emit a disambiguation page at (This part is my comment) If stability of the specific page weren't a goal, the disambiguated pages could just be |
One worry I just had after non-ascii was just brought up is Unicode normalization in file systems, luckily it looks like
|
Duplicate of #25879 |
Rust is case-sensitive, but some filesystems (especially on Windows) are not.
This could cause overlaps in names for the files generated by rustdoc, such as the following:
This is somewhat mitigated by the
non_camel_case_types
lint, which warnsif you don't use the customary capitalization for the items.
@Nemo157 has kindly conducted a survey of the docs.rs documentation and found
that there are about 700,000 items that currently overlap, out of 308,064,859 total items in the inventory, so 0.23% files conflict.
It's not clear how many users this impacts. Are there lots of people generating docs for crates with an overlap, and are they documenting on Windows? @retep998 said the behavior in that case will be that that whichever file is generated first will determine the name and whichever one is last will determine the contents.
The text was updated successfully, but these errors were encountered: