diff options
| author | David Tolnay <dtolnay@gmail.com> | 2023-10-25 14:45:31 -0700 |
|---|---|---|
| committer | David Tolnay <dtolnay@gmail.com> | 2023-10-26 02:02:22 -0700 |
| commit | c1552dfddd7a98f37e3269002a5624409d8f3481 (patch) | |
| tree | 6aebbbf6c43236693d6b129562a1b6807cb1a556 | |
| parent | ac4fa3f2456c0f131982c871d2dffcb7b33daf92 (diff) | |
| download | rust-c1552dfddd7a98f37e3269002a5624409d8f3481.tar.gz rust-c1552dfddd7a98f37e3269002a5624409d8f3481.zip | |
Fix symbols::tests::test_symbols
---- symbols::tests::test_symbols stdout ----
thread 'symbols::tests::test_symbols' panicked at library/proc_macro/src/bridge/client.rs:311:17:
procedural macro API is used outside of a procedural macro
| -rw-r--r-- | compiler/rustc_macros/src/symbols.rs | 8 | ||||
| -rw-r--r-- | compiler/rustc_macros/src/symbols/tests.rs | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_macros/src/symbols.rs b/compiler/rustc_macros/src/symbols.rs index e63bb06eb3f..4129712a6b2 100644 --- a/compiler/rustc_macros/src/symbols.rs +++ b/compiler/rustc_macros/src/symbols.rs @@ -257,6 +257,14 @@ fn symbols_with_errors(input: TokenStream) -> (TokenStream, Vec<syn::Error>) { Value::SameAsName | Value::String(_) | Value::Unsupported(_) => continue, }; + if !proc_macro::is_available() { + errors.error( + Span::call_site(), + "proc_macro::tracked_env is not available in unit test".to_owned(), + ); + break; + } + let value = match proc_macro::tracked_env::var(env_var.value()) { Ok(value) => value, Err(err) => { diff --git a/compiler/rustc_macros/src/symbols/tests.rs b/compiler/rustc_macros/src/symbols/tests.rs index bd0c08a53c4..9c53453df5b 100644 --- a/compiler/rustc_macros/src/symbols/tests.rs +++ b/compiler/rustc_macros/src/symbols/tests.rs @@ -27,7 +27,7 @@ fn test_symbols() { let body_tokens = m.mac.tokens.clone(); - test_symbols_macro(body_tokens, &[]); + test_symbols_macro(body_tokens, &["proc_macro::tracked_env is not available in unit test"]); } fn test_symbols_macro(input: TokenStream, expected_errors: &[&str]) { |
