#![allow(dead_code, deprecated, unused_variables, unused_mut)] #![feature(transmutability)] use core::mem::{Assume, TransmuteFrom}; fn main() { let src: u8 = 1; let maybe_dst: Option = if src == 0 || src == 1 { Some(unsafe { <_ as TransmuteFrom<_, { Assume::VALIDITY }>>::transmute(src) }) } else { None }; assert_eq!(maybe_dst, Some(true)); }