FIXME(9639) remove fixme and accept non-utf8 paths in librustdoc
This commit is contained in:
parent
0e72c80afe
commit
7894717e91
1 changed files with 5 additions and 7 deletions
|
@ -1232,10 +1232,8 @@ fn write_minify_replacer<W: Write>(dst: &mut W,
|
||||||
/// static HTML tree. Each component in the cleaned path will be passed as an
|
/// static HTML tree. Each component in the cleaned path will be passed as an
|
||||||
/// argument to `f`. The very last component of the path (ie the file name) will
|
/// argument to `f`. The very last component of the path (ie the file name) will
|
||||||
/// be passed to `f` if `keep_filename` is true, and ignored otherwise.
|
/// be passed to `f` if `keep_filename` is true, and ignored otherwise.
|
||||||
// FIXME (#9639): The closure should deal with &[u8] instead of &str
|
|
||||||
// FIXME (#9639): This is too conservative, rejecting non-UTF-8 paths
|
|
||||||
fn clean_srcpath<F>(src_root: &Path, p: &Path, keep_filename: bool, mut f: F) where
|
fn clean_srcpath<F>(src_root: &Path, p: &Path, keep_filename: bool, mut f: F) where
|
||||||
F: FnMut(&str),
|
F: FnMut(&OsStr),
|
||||||
{
|
{
|
||||||
// make it relative, if possible
|
// make it relative, if possible
|
||||||
let p = p.strip_prefix(src_root).unwrap_or(p);
|
let p = p.strip_prefix(src_root).unwrap_or(p);
|
||||||
|
@ -1248,8 +1246,8 @@ fn clean_srcpath<F>(src_root: &Path, p: &Path, keep_filename: bool, mut f: F) wh
|
||||||
}
|
}
|
||||||
|
|
||||||
match c {
|
match c {
|
||||||
Component::ParentDir => f("up"),
|
Component::ParentDir => f("up".as_ref()),
|
||||||
Component::Normal(c) => f(c.to_str().unwrap()),
|
Component::Normal(c) => f(c),
|
||||||
_ => continue,
|
_ => continue,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1348,7 +1346,7 @@ impl<'a> SourceCollector<'a> {
|
||||||
cur.push(component);
|
cur.push(component);
|
||||||
fs::create_dir_all(&cur).unwrap();
|
fs::create_dir_all(&cur).unwrap();
|
||||||
root_path.push_str("../");
|
root_path.push_str("../");
|
||||||
href.push_str(component);
|
href.push_str(&component.to_string_lossy());
|
||||||
href.push('/');
|
href.push('/');
|
||||||
});
|
});
|
||||||
let mut fname = p.file_name()
|
let mut fname = p.file_name()
|
||||||
|
@ -2227,7 +2225,7 @@ impl<'a> Item<'a> {
|
||||||
};
|
};
|
||||||
|
|
||||||
clean_srcpath(&src_root, file, false, |component| {
|
clean_srcpath(&src_root, file, false, |component| {
|
||||||
path.push_str(component);
|
path.push_str(&component.to_string_lossy());
|
||||||
path.push('/');
|
path.push('/');
|
||||||
});
|
});
|
||||||
let mut fname = file.file_name().expect("source has no filename")
|
let mut fname = file.file_name().expect("source has no filename")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue