Il ven 7 feb 2025, 09:24 Zhao Liu <zhao1....@intel.com> ha scritto: > > Please add "let _: () = F::ASSERT_IS_SOME;", which is added by the > > qdev_init_clock_in() patch. > > > > Okay. > > I would add `assert!(F::is_some());` at the beginning of init_gpio_in(). >
Use the "let" so that it's caught at compile time. There's a difference with origianl C version: > > In C side, qdev_get_gpio_in() family could accept a NULL handler, but > there's no such case in current QEMU: > > * qdev_get_gpio_in > * qdev_init_gpio_in_named > * qdev_init_gpio_in_named_with_opaque > > And from code logic view, creating an input GPIO line but doing nothing > on input, sounds also unusual. > Wouldn't it then crash in qemu_set_irq? Paolo So, for simplicity, in the Rust version I make the handler non-optional. > > >