// This test exercises `-Zremap-path-scope`, macros (like file!()) and dependency. // // We test different combinations with/without remap in deps, with/without remap in // this crate but always in deps and always here but never in deps. //@ run-pass //@ check-run-results //@ revisions: with-diag-in-deps with-macro-in-deps with-debuginfo-in-deps //@ revisions: only-diag-in-deps only-macro-in-deps only-debuginfo-in-deps //@ revisions: not-macro-in-deps //@[with-diag-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped //@[with-macro-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped //@[with-debuginfo-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped //@[not-macro-in-deps] compile-flags: --remap-path-prefix={{src-base}}=remapped //@[with-diag-in-deps] compile-flags: -Zremap-path-scope=diagnostics //@[with-macro-in-deps] compile-flags: -Zremap-path-scope=macro //@[with-debuginfo-in-deps] compile-flags: -Zremap-path-scope=debuginfo //@[not-macro-in-deps] compile-flags: -Zremap-path-scope=macro //@[with-diag-in-deps] aux-build:file-diag.rs //@[with-macro-in-deps] aux-build:file-macro.rs //@[with-debuginfo-in-deps] aux-build:file-debuginfo.rs //@[only-diag-in-deps] aux-build:file-diag.rs //@[only-macro-in-deps] aux-build:file-macro.rs //@[only-debuginfo-in-deps] aux-build:file-debuginfo.rs //@[not-macro-in-deps] aux-build:file.rs #[cfg(any(with_diag_in_deps, only_diag_in_deps))] extern crate file_diag as file; #[cfg(any(with_macro_in_deps, only_macro_in_deps))] extern crate file_macro as file; #[cfg(any(with_debuginfo_in_deps, only_debuginfo_in_deps))] extern crate file_debuginfo as file; #[cfg(not_macro_in_deps)] extern crate file; fn main() { println!("file::my_file!() = {}", file::my_file!()); println!("file::file() = {}", file::file()); println!("file!() = {}", file!()); }