#![warn(clippy::from_over_into)] struct InMacro(String); macro_rules! in_macro { ($e:ident) => { $e }; } impl Into for String { fn into(self) -> InMacro { InMacro(in_macro!(self)) } } struct WeirdUpperSelf; impl Into for &'static [u8] { fn into(self) -> WeirdUpperSelf { let _ = Self::default(); WeirdUpperSelf } } struct ContainsVal; impl Into for ContainsVal { fn into(self) -> u8 { let val = 1; val + 1 } } pub struct Lval(T); pub struct Rval(T); impl Into> for Lval { fn into(self) -> Rval { Rval(self) } } fn main() {}