Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 12 pull requests #122229

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
709ea74
Add Read Impl for &Stdin
Dajamante Jul 11, 2022
1ea6cd7
Add std::ffi::c_str modules
clarfonthey Aug 19, 2023
b921a34
Fix stable feature name and stabilization version of Read for &Stdin
dtolnay Feb 26, 2024
b18280f
Fill in Read::read_buf for &Stdin
dtolnay Feb 26, 2024
f27a22c
try_with_capacity for RawVec
kornelski Jan 30, 2024
78fb977
try_with_capacity for Vec, VecDeque, String
kornelski Jan 30, 2024
784e6a1
Move capacity_overflow function to make ui tests change less
kornelski Jan 31, 2024
c3954b3
Add a tidy check that checks whether the fluent slugs only appear once
mu001999 Mar 2, 2024
d88c7ff
Remove unused fluent messages
mu001999 Mar 2, 2024
0a00749
Implement MaybeUninit::fill{,_with,_from}
ajwock Feb 18, 2024
5c87ca2
Add some weird test cases to the non_local_definitions lint tests
Urgau Feb 29, 2024
20200f6
Remove useless smallvec dependency in rustc_lint::non_local_def
Urgau Feb 29, 2024
6c4eadd
Add early-return when checking if a path is local
Urgau Feb 29, 2024
98dbe9a
Use was_invoked_from_cargo method instead of hand-written one
Urgau Feb 29, 2024
1195518
Helper function for resolve_path
kornelski Mar 1, 2024
25ab1c7
Suggest correct path in include_bytes!
kornelski Mar 1, 2024
4663fbb
Eagerly translate HelpUseLatestEdition in parser diagnostics
jieyouxu Mar 7, 2024
bef1cd8
ci: add a runner for vanilla LLVM 18
cuviper Mar 8, 2024
446708b
Remove a workaround for a bug
bjorn3 Sep 19, 2021
87ab9e8
Some tweaks to the parallel query cycle handler
Zoxc Mar 8, 2024
564837e
Fix typo in `VisitorResult`
Jarcho Mar 9, 2024
286e813
Rollup merge of #99153 - Dajamante:issue/95622, r=dtolnay
jhpratt Mar 9, 2024
6eaab82
Rollup merge of #112136 - clarfonthey:ffi-c_str, r=cuviper
jhpratt Mar 9, 2024
05b67c6
Rollup merge of #120504 - kornelski:try_with_capacity, r=Amanieu
jhpratt Mar 9, 2024
3c6b895
Rollup merge of #121280 - ajwock:maybeuninit_fill, r=Amanieu
jhpratt Mar 9, 2024
32b2e63
Rollup merge of #121813 - Urgau:misc-non_local_defs-lint, r=cjgillot
jhpratt Mar 9, 2024
936c182
Rollup merge of #121833 - kornelski:parent_include, r=estebank
jhpratt Mar 9, 2024
9aff53d
Rollup merge of #121860 - mu001999:master, r=Nilstrieb
jhpratt Mar 9, 2024
d16fd38
Rollup merge of #122160 - jieyouxu:eager-translate-help-use-latest-ed…
jhpratt Mar 9, 2024
74f17ea
Rollup merge of #122178 - cuviper:ci-llvm-18, r=Kobzol
jhpratt Mar 9, 2024
437ba6a
Rollup merge of #122186 - bjorn3:remove_bug_workaround, r=petrochenkov
jhpratt Mar 9, 2024
6a582de
Rollup merge of #122215 - Zoxc:cycle-detect-names, r=oli-obk
jhpratt Mar 9, 2024
d5956a9
Rollup merge of #122223 - Jarcho:visit_fix, r=oli-obk
jhpratt Mar 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Helper function for resolve_path
  • Loading branch information
kornelski committed Mar 7, 2024
commit 1195518a5e59e6d37c78db24c637780d2c662f3b
25 changes: 11 additions & 14 deletions compiler/rustc_expand/src/base.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1233,21 +1233,18 @@ pub fn resolve_path(sess: &Session, path: impl Into<PathBuf>, span: Span) -> PRe
// after macro expansion (that is, they are unhygienic).
if !path.is_absolute() {
let callsite = span.source_callsite();
let mut result = match sess.source_map().span_to_filename(callsite) {
FileName::Real(name) => name
.into_local_path()
.expect("attempting to resolve a file path in an external file"),
FileName::DocTest(path, _) => path,
other => {
return Err(sess.dcx().create_err(errors::ResolveRelativePath {
span,
path: sess.source_map().filename_for_diagnostics(&other).to_string(),
}));
}
let source_map = sess.source_map();
let Some(mut base_path) = source_map.span_to_filename(callsite).into_local_path() else {
return Err(sess.dcx().create_err(errors::ResolveRelativePath {
span,
path: source_map
.filename_for_diagnostics(&source_map.span_to_filename(callsite))
.to_string(),
}));
};
result.pop();
result.push(path);
Ok(result)
base_path.pop();
base_path.push(path);
Ok(base_path)
} else {
Ok(path)
}
Expand Down
11 changes: 11 additions & 0 deletions compiler/rustc_span/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,17 @@ impl FileName {
src.hash(&mut hasher);
FileName::InlineAsm(hasher.finish())
}

/// Returns the path suitable for reading from the file system on the local host,
/// if this information exists.
/// Avoid embedding this in build artifacts; see `remapped_path_if_available()` for that.
pub fn into_local_path(self) -> Option<PathBuf> {
match self {
FileName::Real(path) => path.into_local_path(),
FileName::DocTest(path, _) => Some(path),
_ => None,
}
}
}

/// Represents a span.
Expand Down