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 5, 2023
2 parents 5236c8e + a0cac34 commit 8da4be0
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 @@
include ../tools.mk

# We are creating files with forbidden characters in their names, so we need to
# ignore-windows

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 8da4be0

Please sign in to comment.