diff --git a/src/visit.rs b/src/visit.rs
index 0a4d2b5..60c5d93 100644
--- a/src/visit.rs
+++ b/src/visit.rs
@@ -72,9 +72,10 @@
     fn visit_fn_ret_ty(&mut self, ret_ty: &FunctionRetTy) {
         walk_fn_ret_ty(self, ret_ty)
     }
-    fn visit_array_len(&mut self, len: &ArrayLen) {
-        walk_array_len(self, len)
+    fn visit_const_expr(&mut self, expr: &ConstExpr) {
+        walk_const_expr(self, expr)
     }
+    fn visit_lit(&mut self, _lit: &Lit) {}
 }
 
 #[macro_export]
@@ -164,7 +165,7 @@
         }
         Ty::Array(ref inner, ref len) => {
             visitor.visit_ty(inner);
-            visitor.visit_array_len(len);
+            visitor.visit_const_expr(len);
         }
         Ty::PolyTraitRef(ref bounds) => {
             walk_list!(visitor, visit_ty_param_bound, bounds);
@@ -262,10 +263,27 @@
     walk_list!(visitor, visit_attribute, &field.attrs);
 }
 
-pub fn walk_array_len<V: Visitor>(visitor: &mut V, len: &ArrayLen) {
+pub fn walk_const_expr<V: Visitor>(visitor: &mut V, len: &ConstExpr) {
     match *len {
-        ArrayLen::Usize(_usize) => {}
-        ArrayLen::Path(ref path, _as_usize) => {
+        ConstExpr::Call(ref function, ref args) => {
+            visitor.visit_const_expr(&function);
+            walk_list!(visitor, visit_const_expr, args);
+        }
+        ConstExpr::Binary(_op, ref left, ref right) => {
+            visitor.visit_const_expr(left);
+            visitor.visit_const_expr(right);
+        }
+        ConstExpr::Unary(_op, ref v) => {
+            visitor.visit_const_expr(v);
+        }
+        ConstExpr::Lit(ref lit) => {
+            visitor.visit_lit(lit);
+        }
+        ConstExpr::Cast(ref expr, ref ty) => {
+            visitor.visit_const_expr(expr);
+            visitor.visit_ty(ty);
+        }
+        ConstExpr::Path(ref path) => {
             visitor.visit_path(path);
         }
     }
