Skip to content

Commit

Permalink
Allow file names to end with '>'
Browse files Browse the repository at this point in the history
The `rustc_span::FileName` enum already differentiates between real
files and "fake" files such as `<anon>`. We do not need to artificially
forbid real file names from ending in `>`.
  • Loading branch information
Enselic committed Oct 5, 2023
1 parent a6dfd89 commit 8f0f850
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 1 deletion.
1 change: 0 additions & 1 deletion compiler/rustc_span/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,6 @@ pub enum FileName {

impl From<PathBuf> for FileName {
fn from(p: PathBuf) -> Self {
assert!(!p.to_string_lossy().ends_with('>'));
FileName::Real(RealFileName::LocalPath(p))
}
}
Expand Down
18 changes: 18 additions & 0 deletions tests/run-make/silly-file-names/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# ignore-none no-std is not supported
# 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)/<leading-lt"
echo '"comes from a file with a name that ends with >"' > "$(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
7 changes: 7 additions & 0 deletions tests/run-make/silly-file-names/silly-file-names.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// run-pass
// check-run-results

fn main() {
println!(include!("<leading-lt"));
println!(include!("trailing-gt>"));
}
2 changes: 2 additions & 0 deletions tests/run-make/silly-file-names/silly-file-names.run.stdout
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
comes from a file with a name that begins with <
comes from a file with a name that ends with >

0 comments on commit 8f0f850

Please sign in to comment.