Skip to content

Releases: dtolnay/cxx

0.5.2

16 Oct 20:35
0.5.2
e37ce2f
Compare
Choose a tag to compare
  • Allow creation of UniquePtrs to extern type aliases of trivial extern types (#361, thanks @adetaylor)
  • Make contents of "rust/cxx.h" header available to high level code generators (#364, thanks @adetaylor)

0.5.1

10 Oct 05:32
0.5.1
52830f5
Compare
Choose a tag to compare
  • Enable functions to have a different name between Rust and C++ (#349)
    • Within cxx::bridge, write #[rust_name = "..."] or #[cxx_name = "..."] to make a change to either name of a function
    • In general many functions can have the same C++ name (due to overloading); every function must continue to have a unique Rust name
#[cxx::bridge]
mod ffi {
    extern "C++" {
        include!("path/to/header.h");

        #[cxx_name = "take"]
        fn take_int(i: i32);

        #[cxx_name = "take"] // different overload of the same name in C++
        fn take_str(s: &str);
    }
}

0.5.0

09 Oct 02:52
0.5.0
c499950
Compare
Choose a tag to compare

0.4.7

24 Sep 20:23
0.4.7
b312bb1
Compare
Choose a tag to compare
  • Add CxxVector::as_slice to get a &[T] from a C++ vector (#322)
  • Make --header command line flag optional when outputting to a file ending with .h extension (#318)
  • Support one cxxbridge command line invocation outputting both the generated header and generated source file (#319)

0.4.6

24 Sep 20:20
0.4.6
71912c3
Compare
Choose a tag to compare
  • Fix noncompilable generated code when returning Result<Box<T>> from Rust to C++ (#309, #311)

0.4.5

16 Sep 16:17
0.4.5
7ff80c4
Compare
Choose a tag to compare
  • Add -o/--output flag for cxxbridge CLI to control output location (#299)
  • Fix missing type in generated code in some cases involving Result (#301, thanks @Nehliin)
  • Support cross compilation to Windows (#302)

0.4.4

08 Sep 23:21
0.4.4
c4ff07b
Compare
Choose a tag to compare
  • Make rust::Error inherit publicly from std::exception so that it can be caught by catch (const std::exception &e) {

0.4.3

07 Sep 07:06
0.4.3
430b5de
Compare
Choose a tag to compare
  • Support working with a C++ namespace that contains Rust reserved words in the namespace path (#286)

0.4.2

02 Sep 22:59
0.4.2
e0b6c73
Compare
Choose a tag to compare
  • Fix missing definitions in generated code involving Vec (#277)
  • Accept - as referring to stdin in the command line code generator (#278)

0.4.1

02 Sep 18:52
0.4.1
8745f7f
Compare
Choose a tag to compare
  • Fix out-of-date generated code being pulled into Cargo builds