Finish up literal printing
diff --git a/Cargo.toml b/Cargo.toml
index 2c24af0..6559459 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,7 +18,7 @@
 
 [dependencies]
 clippy = { version = "0.*", optional = true }
-quote = { version = "0.2", optional = true }
+quote = { version = "0.3.0-rc1", optional = true }
 unicode-xid = { version = "0.0.3", optional = true }
 
 [dev-dependencies]
diff --git a/src/lit.rs b/src/lit.rs
index f0b1430..b143a9d 100644
--- a/src/lit.rs
+++ b/src/lit.rs
@@ -184,10 +184,12 @@
                     escaped.push('"');
                     tokens.append(&escaped);
                 }
+                Lit::Byte(b) => tokens.append(&format!("b{:?}", b)),
+                Lit::Char(ch) => ch.to_tokens(tokens),
                 Lit::Int(value, ty) => tokens.append(&format!("{}{}", value, ty)),
+                Lit::Float(ref value, ty) => tokens.append(&format!("{}{}", value, ty)),
                 Lit::Bool(true) => tokens.append("true"),
                 Lit::Bool(false) => tokens.append("false"),
-                _ => unimplemented!(),
             }
         }
     }
@@ -209,4 +211,14 @@
             }
         }
     }
+
+    impl Display for FloatTy {
+        fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+            match *self {
+                FloatTy::F32 => formatter.write_str("f32"),
+                FloatTy::F64 => formatter.write_str("f64"),
+                FloatTy::Unsuffixed => Ok(()),
+            }
+        }
+    }
 }