From 113bdaa119d856bdca0a87b20ab41d62a76f1723 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ga=C3=ABtan=20Cassiers?= Date: Mon, 25 May 2015 13:21:29 +0200 Subject: [PATCH] Fix #79 --- src/items.rs | 7 +++++++ src/visitor.rs | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/items.rs b/src/items.rs index 55613ab1bb8..3b174190643 100644 --- a/src/items.rs +++ b/src/items.rs @@ -27,6 +27,7 @@ pub fn rewrite_fn(&mut self, explicit_self: Option<&ast::ExplicitSelf>, generics: &ast::Generics, unsafety: &ast::Unsafety, + constness: &ast::Constness, abi: &abi::Abi, vis: ast::Visibility, span_end: BytePos) @@ -40,6 +41,7 @@ pub fn rewrite_fn(&mut self, explicit_self, generics, unsafety, + constness, abi, vis, span_end, @@ -74,6 +76,7 @@ pub fn rewrite_required_fn(&mut self, Some(&sig.explicit_self), &sig.generics, &sig.unsafety, + &sig.constness, &sig.abi, ast::Visibility::Inherited, span_end, @@ -92,6 +95,7 @@ fn rewrite_fn_base(&mut self, explicit_self: Option<&ast::ExplicitSelf>, generics: &ast::Generics, unsafety: &ast::Unsafety, + constness: &ast::Constness, abi: &abi::Abi, vis: ast::Visibility, span_end: BytePos, @@ -111,6 +115,9 @@ fn rewrite_fn_base(&mut self, if let &ast::Unsafety::Unsafe = unsafety { result.push_str("unsafe "); } + if let &ast::Constness::Const = constness { + result.push_str("const "); + } if *abi != abi::Rust { result.push_str("extern "); result.push_str(&abi.to_string()); diff --git a/src/visitor.rs b/src/visitor.rs index 256c1e6e132..c15b3c34af0 100644 --- a/src/visitor.rs +++ b/src/visitor.rs @@ -98,13 +98,19 @@ fn visit_fn(&mut self, let indent = self.block_indent; match fk { - visit::FkItemFn(ident, ref generics, ref unsafety, ref abi, vis) => { + visit::FkItemFn(ident, + ref generics, + ref unsafety, + ref constness, + ref abi, + vis) => { let new_fn = self.rewrite_fn(indent, ident, fd, None, generics, unsafety, + constness, abi, vis, b.span.lo); @@ -117,6 +123,7 @@ fn visit_fn(&mut self, Some(&sig.explicit_self), &sig.generics, &sig.unsafety, + &sig.constness, &sig.abi, vis.unwrap_or(ast::Visibility::Inherited), b.span.lo); -- 2.44.0