Skip to content

Commit d3a8244

Browse files
authored
fix(macros-core): update unstable proc_macro APIs for recent nightly (#4227)
The unstable proc_macro tracking APIs were restructured in rust-lang/rust#149400: - modules `tracked_env` and `tracked_path` were merged into a single module `tracked` - `proc_macro::tracked_env::var` -> `proc_macro::tracked::env_var` - `proc_macro::tracked_path::path` -> `proc_macro::tracked::path` - features `track_path` -> `proc_macro_tracked_path` (+ `proc_macro_tracked_env`) Building with --cfg=sqlx_macros_unstable on recent nightly fails because of the renames and because `extern crate proc_macro;` was only declared in `migrate.rs`, leaving `lib.rs` and `query/cache.rs` without the crate in scope. Move the gated `extern crate proc_macro;` to the crate root, drop the duplicate from migrate.rs, and update the API call sites and the clippy.toml reason field. Fixes #4150
1 parent 05d4974 commit d3a8244

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

sqlx-macros-core/clippy.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[[disallowed-methods]]
22
path = "std::env::var"
3-
reason = "use `crate::env()` instead, which optionally calls `proc_macro::tracked_env::var()`"
3+
reason = "use `crate::env()` instead, which optionally calls `proc_macro::tracked::env_var()`"

sqlx-macros-core/src/lib.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@
1616
1717
#![cfg_attr(
1818
any(sqlx_macros_unstable, procmacro2_semver_exempt),
19-
feature(track_path)
19+
feature(proc_macro_tracked_path, proc_macro_tracked_env)
2020
)]
2121

22+
#[cfg(any(sqlx_macros_unstable, procmacro2_semver_exempt))]
23+
extern crate proc_macro;
24+
2225
use cfg_if::cfg_if;
2326
use std::path::PathBuf;
2427

@@ -96,7 +99,7 @@ pub fn env_opt(var: &str) -> Result<Option<String>> {
9699
use std::env::VarError;
97100

98101
#[cfg(any(sqlx_macros_unstable, procmacro2_semver_exempt))]
99-
let res: Result<String, VarError> = proc_macro::tracked_env::var(var);
102+
let res: Result<String, VarError> = proc_macro::tracked::env_var(var);
100103

101104
#[cfg(not(any(sqlx_macros_unstable, procmacro2_semver_exempt)))]
102105
let res: Result<String, VarError> = std::env::var(var);

sqlx-macros-core/src/migrate.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
#[cfg(any(sqlx_macros_unstable, procmacro2_semver_exempt))]
2-
extern crate proc_macro;
3-
41
use std::path::{Path, PathBuf};
52

63
use proc_macro2::{Span, TokenStream};
@@ -132,7 +129,7 @@ pub fn expand_with_path(config: &Config, path: &Path) -> crate::Result<TokenStre
132129
)
133130
})?;
134131

135-
proc_macro::tracked_path::path(path);
132+
proc_macro::tracked::path(path);
136133
}
137134

138135
Ok(quote! {

sqlx-macros-core/src/query/cache.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ impl MtimeCacheBuilder {
7171

7272
#[cfg(any(sqlx_macros_unstable, procmacro2_semver_exempt))]
7373
{
74-
proc_macro::tracked_path::path(&path);
74+
proc_macro::tracked::path(&path);
7575
}
7676

7777
self.file_mtimes.push((path, mtime));

0 commit comments

Comments
 (0)