Flag ReadlineError, Cmd, KeyPress as non exhaustive
diff --git a/src/error.rs b/src/error.rs
index f7c1abd..c49595b 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -10,6 +10,7 @@
 
 /// The error type for Rustyline errors that can arise from
 /// I/O related errors or Errno when using the nix-rust library
+/// #[non_exhaustive]
 #[derive(Debug)]
 pub enum ReadlineError {
     /// I/O Error
diff --git a/src/keymap.rs b/src/keymap.rs
index b9c4a7a..9841f78 100644
--- a/src/keymap.rs
+++ b/src/keymap.rs
@@ -12,6 +12,7 @@
 pub type RepeatCount = usize;
 
 /// Commands
+/// #[non_exhaustive]
 #[derive(Debug, Clone, PartialEq)]
 pub enum Cmd {
     /// abort
diff --git a/src/keys.rs b/src/keys.rs
index 0cd5e1e..ecffecd 100644
--- a/src/keys.rs
+++ b/src/keys.rs
@@ -1,5 +1,6 @@
 //! Key constants
 
+/// #[non_exhaustive]
 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
 pub enum KeyPress {
     UnknownEscSeq,
diff --git a/src/lib.rs b/src/lib.rs
index 1452f94..8bd5483 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -16,7 +16,8 @@
 //! }
 //! ```
 #![allow(unknown_lints)]
-// #![feature(tool_lints)] unstable feature
+// #![feature(non_exhaustive)]
+// #![feature(tool_lints)]
 
 extern crate dirs;
 extern crate libc;