rustinterfacefile_generator

Rust IntelliJ IDEA Rust Documentation

Program for translating libraries written in Rust to interface files.

Note that this crate is deprecated. Use [rifgen](https://crates.io/crates/rifgen)

It works with flapigen. For instructions on how to integrate with your project, click here

Suppose you have the following Rust code:

```rust struct Foo { data: i32 }

impl Foo { fn new(val: i32) -> Foo { Foo{data: val} }

fn f(&self, a: i32, b: i32) -> i32 {
    self.data + a + b
}

fn set_field(&mut self, v: i32) {
    self.data = v;
}

} ```

Using flapigen, you'd have to write an interface file similar to rust foreign_class!(class Foo { self_type Foo; constructor Foo::new(_: i32) -> Foo; fn Foo::set_field(&mut self, _: i32); fn Foo::f(&self, _: i32, _: i32) -> i32; }); in order to write in Java something like this:

Java Foo foo = new Foo(5); int res = foo.f(1, 2); assert res == 8; or in C++ something like this:

C++ Foo foo(5); int res = foo.f(1, 2); assert(res == 8);

This program generates the interface file, so you can focus more time on your code

Other Features:

✅ Fast and easy to use

✅ Specify style of the resulting code i.e. Whether CamelCase or snake_case

✅ Works, with structs, enums, trait

✅ You don't have to worry about the "order" in which code in the interface has to be

Users Guide

Read the rust_interface_file_gen users guide here!

View on crates.io

Update to rifgen

This crate has now been migrated to rifgen