/* automatically generated by rust-bindgen */


#![allow(non_snake_case)]


#[repr(C)]
#[derive(Debug, Default)]
pub struct cv_String {
    pub _address: u8,
}
#[test]
fn bindgen_test_layout_cv_String() {
    assert_eq!(::std::mem::size_of::<cv_String>() , 1usize , concat ! (
               "Size of: " , stringify ! ( cv_String ) ));
    assert_eq! (::std::mem::align_of::<cv_String>() , 1usize , concat ! (
                "Alignment of " , stringify ! ( cv_String ) ));
}
