use vmx;

pub struct ClearLocalInterruptsGuard(());

impl ClearLocalInterruptsGuard {
    pub fn new() -> Self {
        vmx::cli();
        ClearLocalInterruptsGuard(())
    }
}

impl Default for ClearLocalInterruptsGuard {
    fn default() -> Self {
        ClearLocalInterruptsGuard::new()
    }
}

impl Drop for ClearLocalInterruptsGuard {
    fn drop(&mut self) {
        vmx::sti();
    }
}

use vmx;

pub struct ClearLocalInterruptsGuard;

impl ClearLocalInterruptsGuard {
    pub fn new() -> Self {
        vmx::cli();
        ClearLocalInterruptsGuard {}
    }
}

impl Drop for ClearLocalInterruptsGuard {
    fn drop(&mut self) {
        vmx::sti();
    }
}

--- 
+++ 
@@ -1,11 +1,17 @@
 use vmx;
 
-pub struct ClearLocalInterruptsGuard;
+pub struct ClearLocalInterruptsGuard(());
 
 impl ClearLocalInterruptsGuard {
     pub fn new() -> Self {
         vmx::cli();
-        ClearLocalInterruptsGuard {}
+        ClearLocalInterruptsGuard(())
+    }
+}
+
+impl Default for ClearLocalInterruptsGuard {
+    fn default() -> Self {
+        ClearLocalInterruptsGuard::new()
     }
 }
 
Make ClearLocalInterruptsGuard a bottom type
