diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib.rs | 2 | ||||
-rw-r--r-- | src/long_mode/mod.rs | 2 | ||||
-rw-r--r-- | src/protected_mode/mod.rs | 2 | ||||
-rw-r--r-- | src/real_mode/mod.rs | 2 | ||||
-rw-r--r-- | src/safer_unchecked.rs | 30 |
5 files changed, 3 insertions, 35 deletions
@@ -138,8 +138,6 @@ pub use protected_mode::Arch as x86_32; pub mod real_mode; pub use real_mode::Arch as x86_16; -mod safer_unchecked; - const MEM_SIZE_STRINGS: [&'static str; 65] = [ "BUG", "byte", "word", "BUG", "dword", "ptr", "far", "BUG", "qword", diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 114ee6d..5a3dc51 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -12,11 +12,11 @@ pub use self::display::{DisplayStyle, InstructionDisplayer}; pub use self::display::InstructionTextBuffer; use core::cmp::PartialEq; -use crate::safer_unchecked::unreachable_kinda_unchecked as unreachable_unchecked; use yaxpeax_arch::{AddressDiff, Decoder, Reader, LengthedInstruction}; use yaxpeax_arch::annotation::{AnnotatingDecoder, DescriptionSink, NullSink}; use yaxpeax_arch::{DecodeError as ArchDecodeError}; +use yaxpeax_arch::safer_unchecked::unreachable_kinda_unchecked as unreachable_unchecked; use core::fmt; impl fmt::Display for DecodeError { diff --git a/src/protected_mode/mod.rs b/src/protected_mode/mod.rs index ff96a03..b02079e 100644 --- a/src/protected_mode/mod.rs +++ b/src/protected_mode/mod.rs @@ -12,11 +12,11 @@ pub use self::display::{DisplayStyle, InstructionDisplayer}; pub use self::display::InstructionTextBuffer; use core::cmp::PartialEq; -use crate::safer_unchecked::unreachable_kinda_unchecked as unreachable_unchecked; use yaxpeax_arch::{AddressDiff, Decoder, Reader, LengthedInstruction}; use yaxpeax_arch::annotation::{AnnotatingDecoder, DescriptionSink, NullSink}; use yaxpeax_arch::{DecodeError as ArchDecodeError}; +use yaxpeax_arch::safer_unchecked::unreachable_kinda_unchecked as unreachable_unchecked; use core::fmt; impl fmt::Display for DecodeError { diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs index 018b5f6..e34444e 100644 --- a/src/real_mode/mod.rs +++ b/src/real_mode/mod.rs @@ -12,11 +12,11 @@ pub use self::display::{DisplayStyle, InstructionDisplayer}; pub use self::display::InstructionTextBuffer; use core::cmp::PartialEq; -use crate::safer_unchecked::unreachable_kinda_unchecked as unreachable_unchecked; use yaxpeax_arch::{AddressDiff, Decoder, Reader, LengthedInstruction}; use yaxpeax_arch::annotation::{AnnotatingDecoder, DescriptionSink, NullSink}; use yaxpeax_arch::{DecodeError as ArchDecodeError}; +use yaxpeax_arch::safer_unchecked::unreachable_kinda_unchecked as unreachable_unchecked; use core::fmt; impl fmt::Display for DecodeError { diff --git a/src/safer_unchecked.rs b/src/safer_unchecked.rs deleted file mode 100644 index 34216bc..0000000 --- a/src/safer_unchecked.rs +++ /dev/null @@ -1,30 +0,0 @@ -use core::slice::SliceIndex; - -pub trait GetSaferUnchecked<T> { - unsafe fn get_kinda_unchecked<I>(&self, index: I) -> &<I as SliceIndex<[T]>>::Output - where - I: SliceIndex<[T]>; -} - -impl<T> GetSaferUnchecked<T> for [T] { - #[inline(always)] - unsafe fn get_kinda_unchecked<I>(&self, index: I) -> &<I as SliceIndex<[T]>>::Output - where - I: SliceIndex<[T]>, - { - if cfg!(debug_assertions) { - &self[index] - } else { - self.get_unchecked(index) - } - } -} - -#[inline(always)] -pub unsafe fn unreachable_kinda_unchecked() -> ! { - if cfg!(debug_assertions) { - panic!("UB: Unreachable unchecked was executed") - } else { - core::hint::unreachable_unchecked() - } -} |