<NiaLinaLunaStorm> "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()`