What's the purpose of writing bindings for C libraries for Rust?

Viewed 5198

I was under the impression that bindings are intermediate layers you write so that you may use a library written in one language in an application written in another. It seems that Rust may call C with zero overhead

For a concrete example, Vulkan is a C API, yet people are working on bindings for Vulkan (1, 2, 3).

If C can be called directly from Rust, why would you want to create bindings? Have I misunderstood something?

1 Answers
Related