I wish this was done in C so I didn't have to learn Rust. But maybe it is time to learn Rust.
replies(2):
If you don't want to learn a different programming language, you can take the exact same approach in any language you prefer and play along. You may need to turn the more object oriented calls into libusb_* calls, but if you're used to programming in C you probably won't have a problem getting that to work.