}
}
+pub fn rewrite_associated_impl_type(ident: ast::Ident,
+ defaultness: ast::Defaultness,
+ ty_opt: Option<&ptr::P<ast::Ty>>,
+ ty_param_bounds_opt: Option<&ast::TyParamBounds>,
+ context: &RewriteContext,
+ indent: Indent)
+ -> Option<String> {
+ let result =
+ try_opt!(rewrite_associated_type(ident, ty_opt, ty_param_bounds_opt, context, indent));
+
+ match defaultness {
+ ast::Defaultness::Default => Some(format!("default {}", result)),
+ _ => Some(result),
+ }
+}
+
impl Rewrite for ast::FunctionRetTy {
fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
match *self {
use rewrite::{Rewrite, RewriteContext};
use comment::rewrite_comment;
use macros::{rewrite_macro, MacroPosition};
-use items::{rewrite_static, rewrite_associated_type, rewrite_type_alias, format_impl, format_trait};
+use items::{rewrite_static, rewrite_associated_type, rewrite_associated_impl_type,
+ rewrite_type_alias, format_impl, format_trait};
fn is_use_item(item: &ast::Item) -> bool {
match item.node {
self.push_rewrite(ii.span, rewrite);
}
ast::ImplItemKind::Type(ref ty) => {
- let rewrite = rewrite_associated_type(ii.ident,
- Some(ty),
- None,
- &self.get_context(),
- self.block_indent);
+ let rewrite = rewrite_associated_impl_type(ii.ident,
+ ii.defaultness,
+ Some(ty),
+ None,
+ &self.get_context(),
+ self.block_indent);
self.push_rewrite(ii.span, rewrite);
}
ast::ImplItemKind::Macro(ref mac) => {