Objective-Rust
Funny enough, this is exactly what my objrs crate is meant for: https://gitlab.com/objrs/objrsYou can implement new Objective-C classes directly in Rust. Or use Objective-C classes/methods from Rust. objrs is mostly a collection of macros that transforms the Rust code to be ABI-compatible with normal Objective-C code. There isn't any runtime work done by objrs. It's all done at compile time.Here's an example of creating an new class:  #[objrs(class, super = NSObject)]
  pub struct StringCollection {
    strings: Vec,
  }

  #[objrs(impl)]
  impl StringCollection {
    #[objrs(selector = "new", no_impl)]
    pub fn new() -> objrs::Strong {}

    #[objrs(selector = "printStrings")]
    pub fn print_strings(&self) {
      for string in self.strings.iter() {
        println!("String: {}", string);
      }
    }
  }

I'm still slowly rewriting it. It requires nightly Rust, and unfortunately doesn't compile with the latest nightly. And it doesn't currently build from HEAD. But it's been a fun hobby project.