From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- tests/ui-fulldeps/mod_dir_path_canonicalized.rs | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/ui-fulldeps/mod_dir_path_canonicalized.rs (limited to 'tests/ui-fulldeps/mod_dir_path_canonicalized.rs') diff --git a/tests/ui-fulldeps/mod_dir_path_canonicalized.rs b/tests/ui-fulldeps/mod_dir_path_canonicalized.rs new file mode 100644 index 000000000..bdfd9628c --- /dev/null +++ b/tests/ui-fulldeps/mod_dir_path_canonicalized.rs @@ -0,0 +1,40 @@ +// run-pass +// Testing that a librustc_ast can parse modules with canonicalized base path +// ignore-cross-compile +// ignore-remote +// no-remap-src-base: Reading `file!()` (expectedly) fails when enabled. + +#![feature(rustc_private)] + +extern crate rustc_ast; +extern crate rustc_parse; +extern crate rustc_session; +extern crate rustc_span; + +// Necessary to pull in object code as the rest of the rustc crates are shipped only as rmeta +// files. +#[allow(unused_extern_crates)] +extern crate rustc_driver; + +use rustc_parse::new_parser_from_file; +use rustc_session::parse::ParseSess; +use rustc_span::source_map::FilePathMapping; +use std::path::Path; + +#[path = "mod_dir_simple/test.rs"] +mod gravy; + +pub fn main() { + rustc_span::create_default_session_globals_then(|| parse()); + + assert_eq!(gravy::foo(), 10); +} + +fn parse() { + let parse_session = ParseSess::new(FilePathMapping::empty()); + + let path = Path::new(file!()); + let path = path.canonicalize().unwrap(); + let mut parser = new_parser_from_file(&parse_session, &path, None); + let _ = parser.parse_crate_mod(); +} -- cgit v1.2.3