// A generic trait to abstract the rewriting of an element (of the AST).
use syntax::parse::ParseSess;
+use syntax::ptr;
use syntax::source_map::{SourceMap, Span};
use config::{Config, IndentStyle};
fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String>;
}
+impl<T: Rewrite> Rewrite for ptr::P<T> {
+ fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
+ (**self).rewrite(context, shape)
+ }
+}
+
#[derive(Clone)]
pub struct RewriteContext<'a> {
pub parse_session: &'a ParseSess,
pub inside_macro: RefCell<bool>,
// Force block indent style even if we are using visual indent style.
pub use_block: RefCell<bool>,
- // When `format_if_else_cond_comment` is true, unindent the comment on top
+ // When `is_if_else_block` is true, unindent the comment on top
// of the `else` or `else if`.
pub is_if_else_block: RefCell<bool>,
// When rewriting chain, veto going multi line except the last element