about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-08-24 12:47:57 +0000
committerbors <bors@rust-lang.org>2015-08-24 12:47:57 +0000
commit797d0ba59c3d11a61bdfca52b79d511580309713 (patch)
treec4a872798b0190a70c5a61d52bc84833e205e228
parentdb67cbe43dfce043c664c53d709b91252d5afc9e (diff)
parentc03bf18b84bb47b1b86a26c49db7d4e5f1acc30d (diff)
downloadrust-797d0ba59c3d11a61bdfca52b79d511580309713.tar.gz
rust-797d0ba59c3d11a61bdfca52b79d511580309713.zip
Auto merge of #27857 - Manishearth:improve-fnkind, r=pnkfelix
Since enums are namespaced now, should we also remove the `Fk` prefixes from `FnKind` and remove the reexport? (The reexport must be removed because otherwise it clashes with glob imports containing `ItemFn`). IMO writing `FnKind::Method` is much clearer than `FkMethod`.
-rw-r--r--src/librustc/ast_map/blocks.rs2
-rw-r--r--src/librustc/middle/check_match.rs2
-rw-r--r--src/librustc/middle/intrinsicck.rs2
-rw-r--r--src/librustc/middle/resolve_lifetime.rs4
-rw-r--r--src/librustc_borrowck/borrowck/mod.rs2
-rw-r--r--src/librustc_lint/builtin.rs2
-rw-r--r--src/librustc_resolve/lib.rs2
-rw-r--r--src/librustc_typeck/check/wf.rs2
-rw-r--r--src/libsyntax/ast_util.rs2
-rw-r--r--src/libsyntax/visit.rs11
10 files changed, 15 insertions, 16 deletions
diff --git a/src/librustc/ast_map/blocks.rs b/src/librustc/ast_map/blocks.rs
index 6c9ed29768f..59eba6880a6 100644
--- a/src/librustc/ast_map/blocks.rs
+++ b/src/librustc/ast_map/blocks.rs
@@ -191,7 +191,7 @@ impl<'a> FnLikeNode<'a> {
             visit::FkItemFn(p.ident, p.generics, p.unsafety, p.constness, p.abi, p.vis)
         };
         let closure = |_: ClosureParts| {
-            visit::FkFnBlock
+            visit::FkClosure
         };
         let method = |_, ident, sig: &'a ast::MethodSig, vis, _, _| {
             visit::FkMethod(ident, sig, vis)
diff --git a/src/librustc/middle/check_match.rs b/src/librustc/middle/check_match.rs
index abc4d786f86..25390535e60 100644
--- a/src/librustc/middle/check_match.rs
+++ b/src/librustc/middle/check_match.rs
@@ -1007,7 +1007,7 @@ fn check_fn(cx: &mut MatchCheckCtxt,
             sp: Span,
             fn_id: NodeId) {
     match kind {
-        visit::FkFnBlock => {}
+        visit::FkClosure => {}
         _ => cx.param_env = ParameterEnvironment::for_item(cx.tcx, fn_id),
     }
 
diff --git a/src/librustc/middle/intrinsicck.rs b/src/librustc/middle/intrinsicck.rs
index 29d140004f8..1e640ce47b6 100644
--- a/src/librustc/middle/intrinsicck.rs
+++ b/src/librustc/middle/intrinsicck.rs
@@ -225,7 +225,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for IntrinsicCheckingVisitor<'a, 'tcx> {
                 visit::walk_fn(self, fk, fd, b, s);
                 self.param_envs.pop();
             }
-            visit::FkFnBlock(..) => {
+            visit::FkClosure(..) => {
                 visit::walk_fn(self, fk, fd, b, s);
             }
         }
diff --git a/src/librustc/middle/resolve_lifetime.rs b/src/librustc/middle/resolve_lifetime.rs
index 95b8161ac34..fee24f61d4c 100644
--- a/src/librustc/middle/resolve_lifetime.rs
+++ b/src/librustc/middle/resolve_lifetime.rs
@@ -186,7 +186,7 @@ impl<'a, 'v> Visitor<'v> for LifetimeContext<'a> {
                     this.walk_fn(fk, fd, b, s)
                 })
             }
-            visit::FkFnBlock(..) => {
+            visit::FkClosure(..) => {
                 self.walk_fn(fk, fd, b, s)
             }
         }
@@ -484,7 +484,7 @@ impl<'a> LifetimeContext<'a> {
                 self.visit_generics(&sig.generics);
                 self.visit_explicit_self(&sig.explicit_self);
             }
-            visit::FkFnBlock(..) => {
+            visit::FkClosure(..) => {
                 visit::walk_fn_decl(self, fd);
             }
         }
diff --git a/src/librustc_borrowck/borrowck/mod.rs b/src/librustc_borrowck/borrowck/mod.rs
index 4fd8481f3b7..187d4b4e5de 100644
--- a/src/librustc_borrowck/borrowck/mod.rs
+++ b/src/librustc_borrowck/borrowck/mod.rs
@@ -68,7 +68,7 @@ impl<'a, 'tcx, 'v> Visitor<'v> for BorrowckCtxt<'a, 'tcx> {
                 self.free_region_map = old_free_region_map;
             }
 
-            visit::FkFnBlock => {
+            visit::FkClosure => {
                 borrowck_fn(self, fk, fd, b, s, id);
             }
         }
diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs
index d6aaa2a9050..7af2b3c1bfc 100644
--- a/src/librustc_lint/builtin.rs
+++ b/src/librustc_lint/builtin.rs
@@ -2137,7 +2137,7 @@ impl LintPass for UnconditionalRecursion {
                 cx.tcx.impl_or_trait_item(DefId::local(id)).as_opt_method()
             }
             // closures can't recur, so they don't matter.
-            visit::FkFnBlock => return
+            visit::FkClosure => return
         };
 
         // Walk through this function (say `f`) looking to see if
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index 69f1c9f2ff3..0f8dc4d54a0 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -542,7 +542,7 @@ impl<'a, 'v, 'tcx> Visitor<'v> for Resolver<'a, 'tcx> {
                 self.visit_explicit_self(&sig.explicit_self);
                 MethodRibKind
             }
-            visit::FkFnBlock(..) => ClosureRibKind(node_id)
+            visit::FkClosure(..) => ClosureRibKind(node_id)
         };
         self.resolve_function(rib_kind, declaration, block);
     }
diff --git a/src/librustc_typeck/check/wf.rs b/src/librustc_typeck/check/wf.rs
index bc94132f2a3..d1e159d4456 100644
--- a/src/librustc_typeck/check/wf.rs
+++ b/src/librustc_typeck/check/wf.rs
@@ -428,7 +428,7 @@ impl<'ccx, 'tcx, 'v> Visitor<'v> for CheckTypeWellFormedVisitor<'ccx, 'tcx> {
                 fk: visit::FnKind<'v>, fd: &'v ast::FnDecl,
                 b: &'v ast::Block, span: Span, id: ast::NodeId) {
         match fk {
-            visit::FkFnBlock | visit::FkItemFn(..) => {}
+            visit::FkClosure | visit::FkItemFn(..) => {}
             visit::FkMethod(..) => {
                 match self.tcx().impl_or_trait_item(DefId::local(id)) {
                     ty::ImplOrTraitItem::MethodTraitItem(ty_method) => {
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs
index 45a41edae6c..61c182f638f 100644
--- a/src/libsyntax/ast_util.rs
+++ b/src/libsyntax/ast_util.rs
@@ -438,7 +438,7 @@ impl<'a, 'v, O: IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> {
             visit::FkMethod(_, sig, _) => {
                 self.visit_generics_helper(&sig.generics)
             }
-            visit::FkFnBlock => {}
+            visit::FkClosure => {}
         }
 
         for argument in &function_declaration.inputs {
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 259564337a2..824aee74ce5 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -32,7 +32,7 @@ use codemap::Span;
 use ptr::P;
 use owned_slice::OwnedSlice;
 
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone, PartialEq, Eq)]
 pub enum FnKind<'a> {
     /// fn foo() or extern "Abi" fn foo()
     FkItemFn(Ident, &'a Generics, Unsafety, Constness, Abi, Visibility),
@@ -40,9 +40,8 @@ pub enum FnKind<'a> {
     /// fn foo(&self)
     FkMethod(Ident, &'a MethodSig, Option<Visibility>),
 
-    /// |x, y| ...
-    /// proc(x, y) ...
-    FkFnBlock,
+    /// |x, y| {}
+    FkClosure,
 }
 
 /// Each method of the Visitor trait is a hook to be potentially
@@ -616,7 +615,7 @@ pub fn walk_fn<'v, V: Visitor<'v>>(visitor: &mut V,
             visitor.visit_generics(&sig.generics);
             visitor.visit_explicit_self(&sig.explicit_self);
         }
-        FkFnBlock(..) => {}
+        FkClosure(..) => {}
     }
 
     visitor.visit_block(function_body)
@@ -817,7 +816,7 @@ pub fn walk_expr<'v, V: Visitor<'v>>(visitor: &mut V, expression: &'v Expr) {
             }
         }
         ExprClosure(_, ref function_declaration, ref body) => {
-            visitor.visit_fn(FkFnBlock,
+            visitor.visit_fn(FkClosure,
                              &**function_declaration,
                              &**body,
                              expression.span,