Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project_model/src/cfg_flag.rs')
| -rw-r--r-- | crates/project_model/src/cfg_flag.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/crates/project_model/src/cfg_flag.rs b/crates/project_model/src/cfg_flag.rs index bfdfd458fb..f3dd8f5133 100644 --- a/crates/project_model/src/cfg_flag.rs +++ b/crates/project_model/src/cfg_flag.rs @@ -1,7 +1,7 @@ //! Parsing of CfgFlags as command line arguments, as in //! //! rustc main.rs --cfg foo --cfg 'feature="bar"' -use std::str::FromStr; +use std::{fmt, str::FromStr}; use cfg::CfgOptions; @@ -48,3 +48,16 @@ impl Extend<CfgFlag> for CfgOptions { } } } + +impl fmt::Display for CfgFlag { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + CfgFlag::Atom(atom) => f.write_str(atom), + CfgFlag::KeyValue { key, value } => { + f.write_str(key)?; + f.write_str("=")?; + f.write_str(value) + } + } + } +} |