Skip to content

Commit

Permalink
Auto merge of #115304 - Enselic:trailing-gt, r=cjgillot
Browse files Browse the repository at this point in the history
Allow file names to end with '>'

The [`rustc_span::FileName`](https://doc.rust-lang.org/stable/nightly-rustc/rustc_span/enum.FileName.html) 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 `>`.

Closes #73419
  • Loading branch information
bors committed Oct 6, 2023
2 parents 1bc0463 + 8a1be99 commit 64fa0c3
Show file tree
Hide file tree
Showing 4 changed files with 24 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-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)/<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
4 changes: 4 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,4 @@
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 64fa0c3

Please sign in to comment.