#![allow(dead_code)]
#![allow(incomplete_features)]
#![forbid(unsafe_code)]
#![feature(generic_const_exprs)]
#[cfg(not(debug_assertions))]
compile_error!("if you deploy this to production i will personally find you and dropkick your ass");
use std::hint::black_box;
pub fn weird_fn<'a, 'b, T>(_bob: &'b &'a (), borrow: &'a mut T) -> &'b mut T {
borrow
}
#[allow(clippy::redundant_static_lifetimes)]
const FOREVER: &'static &'static () = &&();
fn extend_mut<'a, 'b, T>(borrow: &'a mut T) -> &'b mut T {
let converted: fn(&'b &'static (), &'a mut T) -> &'b mut T = weird_fn;
converted(FOREVER, borrow)
}
enum Sneaky<F, T> {
From(Option<Box<F>>),
To(Option<Box<T>>),
}
#[inline(never)]
pub fn transmute<F, T>(from: F) -> T {
let mut sneaky: Sneaky<F, T> = Sneaky::To(None);
let outer = &mut sneaky;
let inner = match outer {
Sneaky::To(something) => something,
Sneaky::From(_) => unreachable!(),
};
let inner = extend_mut(inner);
*outer = Sneaky::From(Some(Box::new(from)));
black_box(outer);
*inner.take().unwrap()
}
pub fn is_positive<T>(t: T) -> bool
where
[u8; std::mem::size_of::<T>()]: Sized,
{
let bytes: [u8; std::mem::size_of::<T>()] = black_box(transmute(t));
if bytes.is_empty() {
return true; }
match bytes.last() {
Some(byte) => byte & 0x80 == 0,
None => unreachable!(),
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_is_positive_i32() {
let pos = 69;
let neg = -228;
assert!(is_positive(pos));
assert!(!is_positive(neg));
}
#[test]
fn test_is_positive_bee_movie() {
let bee_movie_script = include_str!("../data/beemovie.txt").to_owned();
assert!(is_positive(bee_movie_script));
}
#[test]
fn test_is_positive_text() {
let mood = "ecstatic";
assert!(is_positive(mood));
}
}