Call Rust Vec, std::collections::{BTreeMap, BTreeSet} in C

RustBtreeMapOfStrSet map = rust_btree_set_of_str_new();
rust_btree_set_of_str_insert(map, "key", "value");
rust_btree_set_of_str_drop(map);
RustBtreeSetOfStr set = rust_btree_set_of_str_new();
rust_btree_set_of_str_insert(set, "foo");
rust_btree_set_of_str_insert(set, "bar");
int is_foo_exists = rust_btree_set_of_str_contains(set, "foo");
rust_btree_set_of_str_drop(set);
RustVecOfStr vec = rust_vec_of_str_new();
rust_vec_of_str_push(vec, "a");
rust_vec_of_str_push(vec, "b");
rust_vec_of_str_push(vec, "c");
rust_vec_of_str_push(vec, "d");
rust_vec_of_str_reverse(vec);
const char *text = rust_vec_of_str_join("/"); rust_vec_of_str_drop(vec)
rust_c_str_drop(text);