#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::ops::Deref; struct DerefExample { value: T, } impl Deref for DerefExample { type Target = T; fn deref(&self) -> &Self::Target { &self.value } } fn main() { let x = DerefExample { value: 'a' }; assert_eq!('a', * x); }