diff options
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/quote.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs index d7bab3e2ffa..0f5928ee198 100644 --- a/src/libsyntax/ext/quote.rs +++ b/src/libsyntax/ext/quote.rs @@ -135,6 +135,12 @@ pub mod rt { } } + impl ToSource for ast::Arg { + fn to_source(&self) -> String { + pprust::arg_to_str(self) + } + } + impl<'a> ToSource for &'a str { fn to_source(&self) -> String { let lit = dummy_spanned(ast::LitStr( @@ -264,6 +270,7 @@ pub mod rt { impl_to_tokens!(Generics) impl_to_tokens!(@ast::Expr) impl_to_tokens!(ast::Block) + impl_to_tokens!(ast::Arg) impl_to_tokens_self!(&'a str) impl_to_tokens!(()) impl_to_tokens!(char) diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 440070e70a6..05c2558da48 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -242,6 +242,10 @@ pub fn variant_to_str(var: &ast::Variant) -> String { to_str(|s| s.print_variant(var)) } +pub fn arg_to_str(arg: &ast::Arg) -> String { + to_str(|s| s.print_arg(arg)) +} + pub fn visibility_qualified(vis: ast::Visibility, s: &str) -> String { match vis { ast::Public => format!("pub {}", s).to_string(), |
