diff --git a/compiler/rustc_span/src/lib.rs b/compiler/rustc_span/src/lib.rs index 772e09291a139..36d7c7653eef9 100644 --- a/compiler/rustc_span/src/lib.rs +++ b/compiler/rustc_span/src/lib.rs @@ -305,7 +305,6 @@ pub enum FileName { impl From for FileName { fn from(p: PathBuf) -> Self { - assert!(!p.to_string_lossy().ends_with('>')); FileName::Real(RealFileName::LocalPath(p)) } } diff --git a/tests/run-make/silly-file-names/Makefile b/tests/run-make/silly-file-names/Makefile new file mode 100644 index 0000000000000..a09bdb1c5329e --- /dev/null +++ b/tests/run-make/silly-file-names/Makefile @@ -0,0 +1,18 @@ +# ignore-cross-compile we need to execute the binary +# ignore-windows we create files with < and > in their names + +include ../tools.mk + +ifdef RUSTC_BLESS_TEST + RUSTC_TEST_OP = cp +else + RUSTC_TEST_OP = $(DIFF) +endif + +all: + echo '"comes from a file with a name that begins with <"' > "$(TMPDIR)/"' > "$(TMPDIR)/trailing-gt>" + cp silly-file-names.rs "$(TMPDIR)/silly-file-names.rs" + $(RUSTC) "$(TMPDIR)/silly-file-names.rs" -o "$(TMPDIR)/silly-file-names" + "$(TMPDIR)/silly-file-names" > "$(TMPDIR)/silly-file-names.run.stdout" + $(RUSTC_TEST_OP) "$(TMPDIR)/silly-file-names.run.stdout" silly-file-names.run.stdout diff --git a/tests/run-make/silly-file-names/silly-file-names.rs b/tests/run-make/silly-file-names/silly-file-names.rs new file mode 100644 index 0000000000000..a200820914130 --- /dev/null +++ b/tests/run-make/silly-file-names/silly-file-names.rs @@ -0,0 +1,4 @@ +fn main() { + println!(include!("")); +} diff --git a/tests/run-make/silly-file-names/silly-file-names.run.stdout b/tests/run-make/silly-file-names/silly-file-names.run.stdout new file mode 100644 index 0000000000000..fbc4c89e0f017 --- /dev/null +++ b/tests/run-make/silly-file-names/silly-file-names.run.stdout @@ -0,0 +1,2 @@ +comes from a file with a name that begins with < +comes from a file with a name that ends with >