use read_only::cast;
mod m {
use super::cast;
#[cast]
pub struct Demo {
pub a: i32,
pub b: i32,
}
impl Demo {
pub fn new(a: i32, b: i32) -> Self {
Self { a, b }
}
pub fn mutate(&mut self) {
self.a += 1;
self.b += 1;
}
}
}
fn main() {
let mut demo = m::Demo::new(1, 2);
demo.mutate();
let _ = demo.a + demo.b;
}