Yes. An LSP has to work along with the compiler, or it has to become an alternative compiler.
For example, from the article "Why LSP?" [1]
"It is known that compilers are complicated, and a language server is a compiler and then some."
23 karma · joined May 11, 2018
For example, from the article "Why LSP?" [1]
"It is known that compilers are complicated, and a language server is a compiler and then some."
While the lower layers written in C do impact the overall safety, the bindings are made to be as safe as possible.
For example: every glib parameter that may take NULL in Rust becomes an Option<T>.
GObject's methods are defined on traits and checked by the Rust type system. There are also some macros to provide an easy and safe interface to the GLib type system.
All of this directly applies to gtk-rs.
Overall, the bindings are well documented and with many examples. There's even a book. Also, there's a great community around them.
Bindings website: https://gtk-rs.org/