diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-01-06 09:23:24 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-01-06 09:23:24 -0800 |
| commit | b7e58ce5547805490a60a108b1c5ce8813eb93e9 (patch) | |
| tree | 171d550268b7fa90131ddd7a4543aa8df3517c2c | |
| parent | bae091e5171c90803e9c40fb01a76d1b0b6f4321 (diff) | |
| download | rust-b7e58ce5547805490a60a108b1c5ce8813eb93e9.tar.gz rust-b7e58ce5547805490a60a108b1c5ce8813eb93e9.zip | |
Don't attempt duplicate outputs
This ends up causing weird errors like those seen in #11346 Closes #11346
| -rw-r--r-- | src/librustc/driver/session.rs | 4 | ||||
| -rw-r--r-- | src/test/run-make/duplicate-output-flavors/Makefile | 4 | ||||
| -rw-r--r-- | src/test/run-make/duplicate-output-flavors/foo.rs | 1 |
3 files changed, 8 insertions, 1 deletions
diff --git a/src/librustc/driver/session.rs b/src/librustc/driver/session.rs index 4295d14441e..a8a948db4e1 100644 --- a/src/librustc/driver/session.rs +++ b/src/librustc/driver/session.rs @@ -192,7 +192,7 @@ pub enum EntryFnType { EntryNone, } -#[deriving(Eq, Clone)] +#[deriving(Eq, Clone, TotalOrd, TotalEq)] pub enum OutputStyle { OutputExecutable, OutputDylib, @@ -461,6 +461,8 @@ pub fn collect_outputs(session: &Session, if base.len() == 0 { base.push(OutputExecutable); } + base.sort(); + base.dedup(); return base; } diff --git a/src/test/run-make/duplicate-output-flavors/Makefile b/src/test/run-make/duplicate-output-flavors/Makefile new file mode 100644 index 00000000000..a93a7ce8448 --- /dev/null +++ b/src/test/run-make/duplicate-output-flavors/Makefile @@ -0,0 +1,4 @@ +include ../tools.mk + +all: + $(RUSTC) --rlib foo.rs diff --git a/src/test/run-make/duplicate-output-flavors/foo.rs b/src/test/run-make/duplicate-output-flavors/foo.rs new file mode 100644 index 00000000000..3cdacc96ee9 --- /dev/null +++ b/src/test/run-make/duplicate-output-flavors/foo.rs @@ -0,0 +1 @@ +#[crate_type = "rlib"]; |
