Boolean literals
diff --git a/src/lit.rs b/src/lit.rs
index c7a647f..b3d2954 100644
--- a/src/lit.rs
+++ b/src/lit.rs
@@ -67,7 +67,10 @@
|
int => { |(value, ty)| Lit::Int(value, ty) }
// TODO: Float
- // TODO: Bool
+ |
+ keyword!("true") => { |_| Lit::Bool(true) }
+ |
+ keyword!("false") => { |_| Lit::Bool(false) }
));
named!(string -> Lit, alt!(
@@ -180,6 +183,8 @@
tokens.append(&escaped);
}
Lit::Int(value, ty) => tokens.append(&format!("{}{}", value, ty)),
+ Lit::Bool(true) => tokens.append("true"),
+ Lit::Bool(false) => tokens.append("false"),
_ => unimplemented!(),
}
}
diff --git a/tests/cases/attr.rs b/tests/cases/attr.rs
index b8a1fb7..5e21ddc 100644
--- a/tests/cases/attr.rs
+++ b/tests/cases/attr.rs
@@ -3,7 +3,12 @@
#[string = "a"]
#[raw_string = r"a"]
#[more_raw_string = r##"#"#"##]
+
#[byte_string = b"a"]
#[raw_byte_string = br"a"]
#[more_raw_byte_string = br##"#"#"##]
+
+#[boolean = true]
+#[boolean = false]
+
struct Success;