<p dir="auto">My debian x64 fails on <code class="notranslate">make check</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ rust -v
rust 0.8-pre (2562f48 2013-09-16 06:30:51 -0700)
host: x86_64-unknown-linux-gnu

$ RUST_LOG=rustpkg make check TESTNAME=no_rebuilding_dep 2&gt; out
&lt;snip&gt;
running 1 test
test tests::no_rebuilding_dep ... FAILED

metrics saved to: tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustpkg-metrics.json
failures:
    tests::no_rebuilding_dep

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured

$ cat out
Created /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 and does it exist? true
mk_workspace: creating /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
Created /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 and does it exist? true
Created empty package dir for foo-0.1, returning /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
Created /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1 and does it exist? true
 cd /tmp/d5lF0kcJw3ifff0Wtemp_workspace; /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg build foo
Output from command /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg with args &amp;[~&quot;build&quot;, ~&quot;foo&quot;] was WARNING: The Rust package manager is experimental and may be unstable
note: Installed package bar-0.1 to /tmp/d5lF0kcJw3ifff0Wtemp_workspace
 {Using sysroot: /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu
Will store workcache in /tmp/d5lF0kcJw3ifff0Wtemp_workspace/.rust
Workcache database file: /tmp/d5lF0kcJw3ifff0Wtemp_workspace/.rust/rustpkg_db.json
Didn't find foo-0.1 in /tmp/d5lF0kcJw3ifff0Wtemp_workspace/.rust
Found foo-0.1 in /tmp/d5lF0kcJw3ifff0Wtemp_workspace
found pkg foo-0.1 in workspace /tmp/d5lF0kcJw3ifff0Wtemp_workspace, trying to build
Checking package source for package ID foo-0.1, workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace
Checking dirs: ~&quot;/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo&quot;
For package id foo-0.1, returning /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
pkgsrc: Returning {/tmp/d5lF0kcJw3ifff0Wtemp_workspace|/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1|foo-0.1}
package source = Package ID foo-0.1 in start dir /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 [workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace]
package_script_option: checking whether /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/pkg.rs exists
exec_work: looking up foo-0.1 and extra::workcache::WorkMap(extra::treemap::TreeMap&lt;~str,extra::workcache::KindMap&gt;{root: None, length: 0u})
&quot;Cache miss!&quot;
build: workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace (in Rust path? true is git dir? false pkgid = foo-0.1 pkgsrc start_dir = /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
Package source directory = Package ID foo-0.1 in start dir /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 [workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace]
package_script_option: checking whether /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/pkg.rs exists
Calling pkg_script_option on None
packa[...]
lib_output_file_name: given /tmp/d5lF0kcJw3ifff0Wtemp_workspace and parent .rust and short name bar
library_in_workspace: checking whether a library named bar exists
short_name = bar where = Build workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace prefix = build
Listing directory /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar
dir has 4u entries
lib_prefix = libbar and lib_filetype = .so
p = barbench, p's extension is None
p = bar, p's extension is None
p = libbar-40b5eb3af07a7a64-0.1.so, p's extension is Some(&quot;.so&quot;)
Maybe 0.1 is a version
Attempting to parse: 0.1
Maybe libbar equals libbar
p = bartest, p's extension is None
result_filename = /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar/libbar-40b5eb3af07a7a64-0.1.so
 cd /tmp/d5lF0kcJw3ifff0Wtemp_workspace; /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg build foo
Output from command /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg with args &amp;[~&quot;build&quot;, ~&quot;foo&quot;] was WARNING: The Rust package manager is experimental and may be unstable
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libextra-a7c050cfd46b2c9a-0.8-pre.so is fresh
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-6c65cf4b443341b1-0.8-pre.so is fresh
workcache: discovered input binary:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/bin/bar is fresh
workcache: discovered input binary:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/lib/x86_64-unknown-linux-gnu/libbar-40b5eb3af07a7a64-0.1.so is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/bench.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/lib.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/main.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/test.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/bench.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/lib.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/main.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/test.rs is not fresh
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libextra-a7c050cfd46b2c9a-0.8-pre.so is fresh
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-6c65cf4b443341b1-0.8-pre.so is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/bench.rs is fr[...]
lib_output_file_name: given /tmp/d5lF0kcJw3ifff0Wtemp_workspace and parent .rust and short name bar
library_in_workspace: checking whether a library named bar exists
short_name = bar where = Build workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace prefix = build
Listing directory /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar
dir has 4u entries
lib_prefix = libbar and lib_filetype = .so
p = barbench, p's extension is None
p = bar, p's extension is None
p = libbar-40b5eb3af07a7a64-0.1.so, p's extension is Some(&quot;.so&quot;)
Maybe 0.1 is a version
Attempting to parse: 0.1
Maybe libbar equals libbar
p = bartest, p's extension is None
result_filename = /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar/libbar-40b5eb3af07a7a64-0.1.so
task &lt;unnamed&gt; failed at 'assertion failed: foo_date_1 &lt; foo_date_2', /home/lime/src/rust/src/librustpkg/tests.rs:959
task &lt;unnamed&gt; failed at 'Some tests failed', /home/lime/src/rust/src/libextra/test.rs:131
make: *** [tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustpkg.ok] Error 101"><pre class="notranslate"><code class="notranslate">$ rust -v
rust 0.8-pre (2562f48 2013-09-16 06:30:51 -0700)
host: x86_64-unknown-linux-gnu

$ RUST_LOG=rustpkg make check TESTNAME=no_rebuilding_dep 2&gt; out
&lt;snip&gt;
running 1 test
test tests::no_rebuilding_dep ... FAILED

metrics saved to: tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustpkg-metrics.json
failures:
    tests::no_rebuilding_dep

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured

$ cat out
Created /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 and does it exist? true
mk_workspace: creating /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
Created /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 and does it exist? true
Created empty package dir for foo-0.1, returning /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
Created /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1 and does it exist? true
 cd /tmp/d5lF0kcJw3ifff0Wtemp_workspace; /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg build foo
Output from command /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg with args &amp;[~"build", ~"foo"] was WARNING: The Rust package manager is experimental and may be unstable
note: Installed package bar-0.1 to /tmp/d5lF0kcJw3ifff0Wtemp_workspace
 {Using sysroot: /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu
Will store workcache in /tmp/d5lF0kcJw3ifff0Wtemp_workspace/.rust
Workcache database file: /tmp/d5lF0kcJw3ifff0Wtemp_workspace/.rust/rustpkg_db.json
Didn't find foo-0.1 in /tmp/d5lF0kcJw3ifff0Wtemp_workspace/.rust
Found foo-0.1 in /tmp/d5lF0kcJw3ifff0Wtemp_workspace
found pkg foo-0.1 in workspace /tmp/d5lF0kcJw3ifff0Wtemp_workspace, trying to build
Checking package source for package ID foo-0.1, workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace
Checking dirs: ~"/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo"
For package id foo-0.1, returning /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
pkgsrc: Returning {/tmp/d5lF0kcJw3ifff0Wtemp_workspace|/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1|foo-0.1}
package source = Package ID foo-0.1 in start dir /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 [workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace]
package_script_option: checking whether /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/pkg.rs exists
exec_work: looking up foo-0.1 and extra::workcache::WorkMap(extra::treemap::TreeMap&lt;~str,extra::workcache::KindMap&gt;{root: None, length: 0u})
"Cache miss!"
build: workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace (in Rust path? true is git dir? false pkgid = foo-0.1 pkgsrc start_dir = /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1
Package source directory = Package ID foo-0.1 in start dir /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1 [workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace]
package_script_option: checking whether /tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/pkg.rs exists
Calling pkg_script_option on None
packa[...]
lib_output_file_name: given /tmp/d5lF0kcJw3ifff0Wtemp_workspace and parent .rust and short name bar
library_in_workspace: checking whether a library named bar exists
short_name = bar where = Build workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace prefix = build
Listing directory /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar
dir has 4u entries
lib_prefix = libbar and lib_filetype = .so
p = barbench, p's extension is None
p = bar, p's extension is None
p = libbar-40b5eb3af07a7a64-0.1.so, p's extension is Some(".so")
Maybe 0.1 is a version
Attempting to parse: 0.1
Maybe libbar equals libbar
p = bartest, p's extension is None
result_filename = /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar/libbar-40b5eb3af07a7a64-0.1.so
 cd /tmp/d5lF0kcJw3ifff0Wtemp_workspace; /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg build foo
Output from command /home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/bin/rustpkg with args &amp;[~"build", ~"foo"] was WARNING: The Rust package manager is experimental and may be unstable
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libextra-a7c050cfd46b2c9a-0.8-pre.so is fresh
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-6c65cf4b443341b1-0.8-pre.so is fresh
workcache: discovered input binary:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/bin/bar is fresh
workcache: discovered input binary:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/lib/x86_64-unknown-linux-gnu/libbar-40b5eb3af07a7a64-0.1.so is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/bench.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/lib.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/main.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/test.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/bench.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/lib.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/main.rs is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/foo-0.1/test.rs is not fresh
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libextra-a7c050cfd46b2c9a-0.8-pre.so is fresh
workcache: discovered input binary:/home/lime/src/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-6c65cf4b443341b1-0.8-pre.so is fresh
workcache: discovered input file:/tmp/d5lF0kcJw3ifff0Wtemp_workspace/src/bar-0.1/bench.rs is fr[...]
lib_output_file_name: given /tmp/d5lF0kcJw3ifff0Wtemp_workspace and parent .rust and short name bar
library_in_workspace: checking whether a library named bar exists
short_name = bar where = Build workspace = /tmp/d5lF0kcJw3ifff0Wtemp_workspace prefix = build
Listing directory /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar
dir has 4u entries
lib_prefix = libbar and lib_filetype = .so
p = barbench, p's extension is None
p = bar, p's extension is None
p = libbar-40b5eb3af07a7a64-0.1.so, p's extension is Some(".so")
Maybe 0.1 is a version
Attempting to parse: 0.1
Maybe libbar equals libbar
p = bartest, p's extension is None
result_filename = /tmp/d5lF0kcJw3ifff0Wtemp_workspace/build/x86_64-unknown-linux-gnu/bar/libbar-40b5eb3af07a7a64-0.1.so
task &lt;unnamed&gt; failed at 'assertion failed: foo_date_1 &lt; foo_date_2', /home/lime/src/rust/src/librustpkg/tests.rs:959
task &lt;unnamed&gt; failed at 'Some tests failed', /home/lime/src/rust/src/libextra/test.rs:131
make: *** [tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustpkg.ok] Error 101
</code></pre></div>
<p dir="auto">bors also failed on pr <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="19523850" data-permission-text="Title is private" data-url="https://github.com/rust-lang/rust/issues/9211" data-hovercard-type="pull_request" data-hovercard-url="/rust-lang/rust/pull/9211/hovercard" href="https://github.com/rust-lang/rust/pull/9211">#9211</a>, <a href="http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/612" rel="nofollow">auto-linux-64-nopt-t build log</a>. (buildbot succeeded after retrial)</p>
<p dir="auto">Sometimes people use multiple <code class="notranslate">mod</code> statements that refer to the same file in order to access that files content as a module in different modules/files, thinking all those instances would be identical. But in reality that just duplicates all definitions in the file at different places in the module hierarchy, which leads to confusing errors like two presumably identical types not being identical etc.</p>
<p dir="auto">I think two <code class="notranslate">mod</code> statements in a crate that refer to the same file should at least emit a code duplication warning, if not an error, because it's almost never what you want.</p>