diff options
author | iximeow <me@iximeow.net> | 2021-03-21 14:30:17 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-03-21 14:30:17 -0700 |
commit | fcd9fc30d2fa41b2267a6539e5806735bae8931d (patch) | |
tree | 02eb659edc4eb03f266c17880d5e21f662856099 | |
parent | 0591d78e5b1c1c232fd6c6e4c159fd428f19ade9 (diff) |
make Opcode, Operand, and DecodeError non_exhaustive
in the future these can and will change (new operands, new instructions) and i would prefer they not be major breaking changes. applications can ignore them and probably do undesired variants anyway.
if you want to write a 1120-variant match, are you me? why would you do this
-rw-r--r-- | src/long_mode/mod.rs | 3 | ||||
-rw-r--r-- | src/protected_mode/mod.rs | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 5ca6542..2935385 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -429,6 +429,7 @@ enum SizeCode { } #[derive(Clone, Debug, PartialEq)] +#[non_exhaustive] pub enum Operand { ImmediateI8(i8), ImmediateU8(u8), @@ -883,6 +884,7 @@ const XSAVE: [Opcode; 10] = [ #[allow(non_camel_case_types)] #[derive(Copy, Clone, Debug, Eq, PartialEq)] +#[non_exhaustive] pub enum Opcode { Invalid, ADD, @@ -1997,6 +1999,7 @@ impl yaxpeax_arch::Instruction for Instruction { } #[derive(Debug, PartialEq)] +#[non_exhaustive] pub enum DecodeError { ExhaustedInput, InvalidOpcode, diff --git a/src/protected_mode/mod.rs b/src/protected_mode/mod.rs index 6394de0..a089fc2 100644 --- a/src/protected_mode/mod.rs +++ b/src/protected_mode/mod.rs @@ -366,6 +366,7 @@ enum SizeCode { } #[derive(Clone, Debug, PartialEq)] +#[non_exhaustive] pub enum Operand { ImmediateI8(i8), ImmediateU8(u8), @@ -782,6 +783,7 @@ const XSAVE: [Opcode; 10] = [ // UMWAIT #[allow(non_camel_case_types)] #[derive(Copy, Clone, Debug, Eq, PartialEq)] +#[non_exhaustive] pub enum Opcode { Invalid, ADD, @@ -1800,6 +1802,7 @@ impl yaxpeax_arch::Instruction for Instruction { } #[derive(Debug, PartialEq)] +#[non_exhaustive] pub enum DecodeError { ExhaustedInput, InvalidOpcode, |