"I am writing firmware rn for a..." <- > <@fly:asra.gr> I am writing firmware rn for a device of which I expect multiple to be connected at the same time so to make it clear which is which, I wanna give it its own PID and product name on the USB... > I'm trying to do this with the cfg macro rn > https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg-macro > ``` > let mut usb_dev = if cfg!(FO) { > UsbDeviceBuilder::new(&usb_bus, UsbVidPid(0x16c0, 0x27db)) > .manufacturer("FLC Meow") > .product("MCDU First Officer") > .serial_number("01189998819991197253") > .build(); > } else if cfg!(third) { > UsbDeviceBuilder::new(&usb_bus, UsbVidPid(0x16c0, 0x27dc)) > .manufacturer("FLC Meow") > .product("MCDU 3rd Occupant") > .serial_number("01189998819991197253") > .build(); > } else { > UsbDeviceBuilder::new(&usb_bus, UsbVidPid(0x16c0, 0x27da)) > .manufacturer("FLC Meow") > .product("MCDU Captain") > .serial_number("01189998819991197253") > .build(); > }; > ``` > but later on it throws this error: > ``` > error[E0599]: no method named `poll` found for unit type `()` in the current scope > --> src/main.rs:198:14 > | > 198 | if usb_dev.poll(&mut [&mut consumer]) { > | ^^^^ method not found in `()` > ``` I think you just have extra semicolons, change `.build();` to `.build()`