Open
Description
Feature gate: #![feature(proc_macro_tracked_env, track_path)]
This is a tracking issue for proc_macro::tracked*
, to allow adding files and environment variables to the build system's dependency tracking.
Public API
// proc_macro
mod tracked_env {
pub fn var<K: AsRef<OsStr> + AsRef<str>>(key: K) -> Result<String, VarError>;
}
mod tracked_path {
pub fn path<P: AsRef<str>>(path: P);
}
Steps / History
- Implementation of
tracked_env::var
: proc_macro: Add API for tracked access to environment variables #74653 - Implementation of
tracked_path::path
: addtrack_path::path
fn for usage inproc_macro
s #84029 - Add tracking issue: Use new tracking issue for proc_macro::tracked_*. #99516
- Change
path
to acceptAsRef<Path>
instead ofAsRef<str>
- Design the public API
- Documentation
- Final comment period (FCP)
- Stabilization PR
Unresolved Questions
- The full API design.
- The implementaiton PRs were mostly focussed on the implementation details behind the scenes of
proc_macro
, but there's barely been any discussion on the public interface.
- The implementaiton PRs were mostly focussed on the implementation details behind the scenes of