I'm currently writing Rust for my bachelor thesis using bluez_async[1].
btleplug[2] is great, but at least on Linux I prefer using bluez_async directly, which btleplug is just an interface for there[3], to avoid one more layer of dependencies.
bluez_async is quite similar to btleplug, and, from my experience, if you know one you can use the other just fine.