auto merge of #9916 : alexcrichton/rust/issue-9861, r=brson
This was just incorrectly handled before, the path component shouldn't be looked at at all (we used absolute paths everywhere instead of relative to the current module location). Closes #9861
This commit is contained in:
commit
51709fcedc
@ -115,12 +115,7 @@ impl fmt::Default for clean::Path {
|
||||
fn resolved_path(w: &mut io::Writer, id: ast::NodeId, p: &clean::Path,
|
||||
print_all: bool) {
|
||||
path(w, p, print_all,
|
||||
|_cache, loc| {
|
||||
match p.segments[0].name.as_slice() {
|
||||
"super" => Some("../".repeat(loc.len() - 1)),
|
||||
_ => Some("../".repeat(loc.len())),
|
||||
}
|
||||
},
|
||||
|_cache, loc| { Some("../".repeat(loc.len())) },
|
||||
|cache| {
|
||||
match cache.paths.find(&id) {
|
||||
None => None,
|
||||
|
@ -44,6 +44,7 @@ use std::rt::io::file::{FileInfo, DirectoryInfo};
|
||||
use std::rt::io::file;
|
||||
use std::rt::io;
|
||||
use std::rt::io::Reader;
|
||||
use std::os;
|
||||
use std::str;
|
||||
use std::task;
|
||||
use std::unstable::finally::Finally;
|
||||
@ -686,7 +687,15 @@ impl Context {
|
||||
Process(Context, clean::Item),
|
||||
}
|
||||
enum Progress { JobNew, JobDone }
|
||||
static WORKERS: int = 10;
|
||||
|
||||
let workers = match os::getenv("RUSTDOC_WORKERS") {
|
||||
Some(s) => {
|
||||
match from_str::<uint>(s) {
|
||||
Some(n) => n, None => fail2!("{} not a number", s)
|
||||
}
|
||||
}
|
||||
None => 10,
|
||||
};
|
||||
|
||||
let mut item = match crate.module.take() {
|
||||
Some(i) => i,
|
||||
@ -706,7 +715,7 @@ impl Context {
|
||||
// using the same channel/port. Through this, the crate is recursed on
|
||||
// in a hierarchical fashion, and parallelization is only achieved if
|
||||
// one node in the hierarchy has more than one child (very common).
|
||||
for i in range(0, WORKERS) {
|
||||
for i in range(0, workers) {
|
||||
let port = port.clone();
|
||||
let chan = chan.clone();
|
||||
let prog_chan = prog_chan.clone();
|
||||
@ -761,7 +770,7 @@ impl Context {
|
||||
if jobs == 0 { break }
|
||||
}
|
||||
|
||||
for _ in range(0, WORKERS) {
|
||||
for _ in range(0, workers) {
|
||||
chan.send(Die);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user