about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/ast_util.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libsyntax/ast_util.rs b/src/libsyntax/ast_util.rs
index 119f4465d9e..58650e147cc 100644
--- a/src/libsyntax/ast_util.rs
+++ b/src/libsyntax/ast_util.rs
@@ -329,6 +329,18 @@ fn trait_method_to_ty_method(method: trait_method) -> ty_method {
     }
 }
 
+fn split_trait_methods(trait_methods: ~[trait_method])
+    -> (~[ty_method], ~[@method]) {
+    let mut reqd = ~[], provd = ~[];
+    for trait_methods.each |trt_method| {
+        alt trt_method {
+          required(tm) { vec::push(reqd, tm); }
+          provided(m) { vec::push(provd, m); }
+        }
+    };
+    (reqd, provd)
+}
+
 pure fn class_member_visibility(ci: @class_member) -> visibility {
   alt ci.node {
      instance_var(_, _, _, _, vis) { vis }