![](https://media.hachyderm.io/accounts/avatars/109/377/679/332/294/743/original/00f6bbd9f4515770.png)
![](https://programming.dev/pictrs/image/1f7e5534-88d3-4d6f-bc57-7cda9553890f.webp)
@Jenztsch @FizzyOrange it would be nice if rust had a feature like inline macros for this kind of behavior just for reducing duplications when you don’t need to capture values as part of a closure.
Formerly @z_shift on 🐦
@Jenztsch @FizzyOrange it would be nice if rust had a feature like inline macros for this kind of behavior just for reducing duplications when you don’t need to capture values as part of a closure.
@varsock If you plan to refactor the architecture to convert things into microservices, grpc is also a solid way to go.
@varsock rust has very good code generation for C (and sometimes C++ as well) headers via bindgen
(https://github.com/rust-lang/rust-bindgen). This allows you to potentially make minimal changes to the code without having to refactor to use a new protocol on the legacy side, and has faster performance (benchmark to confirm), since there’s no serialization/deserialization step. See https://doc.rust-lang.org/nomicon/ffi.html for how this is done manually.
@varsock @Timely_Jellyfish_2077 out of curiosity, why use grpc in lieu of ffi?
@Jenztsch @FizzyOrange
Eg
fn foo() -\> Vec\<i32\> { let mut out = Vec::new(); macro! bar(i: i32) { out.push(i); } for i in 1..10 { bar!(i); } out }