use cxx::{type_id, ExternType};
#[repr(transparent)]
pub struct QuotedRaw(usize);
unsafe impl ExternType for QuotedRaw {
type Id = type_id!("org::r#box::implementation::QuotedRaw");
type Kind = cxx::kind::Trivial;
}
#[repr(transparent)]
pub struct QuotedKeyword(usize);
unsafe impl ExternType for QuotedKeyword {
type Id = type_id!("org::box::implementation::QuotedKeyword");
type Kind = cxx::kind::Trivial;
}
#[repr(transparent)]
pub struct UnquotedRaw(usize);
unsafe impl ExternType for UnquotedRaw {
type Id = type_id!(org::r#box::implementation::UnquotedRaw);
type Kind = cxx::kind::Trivial;
}
#[repr(transparent)]
pub struct UnquotedKeyword(usize);
unsafe impl ExternType for UnquotedKeyword {
type Id = type_id!(org::box::implementation::UnquotedKeyword);
type Kind = cxx::kind::Trivial;
}
#[cxx::bridge]
pub mod ffi {
extern "C++" {
#[namespace = "org::r#box::implementation"]
type QuotedRaw = crate::QuotedRaw;
#[namespace = "org::box::implementation"]
type QuotedKeyword = crate::QuotedKeyword;
#[namespace = org::r#box::implementation]
type UnquotedRaw = crate::UnquotedRaw;
// Not allowed by rustc (independent of cxx):
// #[namespace = org::box::implementation]
// type UnquotedKeyword = crate::UnquotedKeyword;
}
}
fn main() {}