diff --git a/src/constant.rs b/src/constant.rs
index 1688dbf..b2420c0 100644
--- a/src/constant.rs
+++ b/src/constant.rs
@@ -22,8 +22,20 @@
     Index(Box<ConstExpr>, Box<ConstExpr>),
     /// No-op: used solely so we can pretty-print faithfully
     Paren(Box<ConstExpr>),
+    /// If compiling with full support for expression syntax, any expression is
+    /// allowed
+    Other(Other),
 }
 
+#[cfg(not(feature = "full"))]
+#[derive(Debug, Clone, Eq, PartialEq)]
+pub struct Other {
+    _private: (),
+}
+
+#[cfg(feature = "full")]
+pub type Other = Expr;
+
 #[cfg(feature = "parsing")]
 pub mod parsing {
     use super::*;
@@ -139,7 +151,17 @@
                     expr.to_tokens(tokens);
                     tokens.append(")");
                 }
+                ConstExpr::Other(ref other) => {
+                    other.to_tokens(tokens);
+                }
             }
         }
     }
+
+    #[cfg(not(feature = "full"))]
+    impl ToTokens for Other {
+        fn to_tokens(&self, _tokens: &mut Tokens) {
+            unreachable!()
+        }
+    }
 }
diff --git a/src/ty.rs b/src/ty.rs
index b33206a..f9e3a2d 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -211,7 +211,11 @@
 pub mod parsing {
     use super::*;
     use {TraitBoundModifier, TyParamBound};
+    #[cfg(feature = "full")]
+    use ConstExpr;
     use constant::parsing::const_expr;
+    #[cfg(feature = "full")]
+    use expr::parsing::expr;
     use generics::parsing::{lifetime, lifetime_def, ty_param_bound, bound_lifetimes};
     use ident::parsing::ident;
     use lit::parsing::quoted_string;
@@ -248,6 +252,7 @@
         (Ty::Slice(Box::new(elem)))
     ));
 
+    #[cfg(not(feature = "full"))]
     named!(ty_array -> Ty, do_parse!(
         punct!("[") >>
         elem: ty >>
@@ -257,6 +262,19 @@
         (Ty::Array(Box::new(elem), len))
     ));
 
+    #[cfg(feature = "full")]
+    named!(ty_array -> Ty, do_parse!(
+        punct!("[") >>
+        elem: ty >>
+        punct!(";") >>
+        len: alt!(
+            terminated!(const_expr, punct!("]"))
+            |
+            terminated!(expr, punct!("]")) => { ConstExpr::Other }
+        ) >>
+        (Ty::Array(Box::new(elem), len))
+    ));
+
     named!(ty_ptr -> Ty, do_parse!(
         punct!("*") >>
         mutability: alt!(
