From 31bd2d3a1ffa47e15b0701761966fc836c9da99d Mon Sep 17 00:00:00 2001 From: Emilio Cobos Álvarez Date: Thu, 15 Dec 2016 16:57:32 +0100 Subject: ir: Don't parse standalone destructors. --- libbindgen/src/ir/function.rs | 2 +- libbindgen/tests/expectations/tests/public-dtor.rs | 16 ++++++++++++++++ libbindgen/tests/headers/public-dtor.hpp | 15 +++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 libbindgen/tests/expectations/tests/public-dtor.rs create mode 100644 libbindgen/tests/headers/public-dtor.hpp diff --git a/libbindgen/src/ir/function.rs b/libbindgen/src/ir/function.rs index a068097d..76576dbd 100644 --- a/libbindgen/src/ir/function.rs +++ b/libbindgen/src/ir/function.rs @@ -242,9 +242,9 @@ impl ClangSubItemParser for Function { -> Result, ParseError> { use clang_sys::*; match cursor.kind() { + // FIXME(emilio): Generate destructors properly. CXCursor_FunctionDecl | CXCursor_Constructor | - CXCursor_Destructor | CXCursor_CXXMethod => {} _ => return Err(ParseError::Continue), }; diff --git a/libbindgen/tests/expectations/tests/public-dtor.rs b/libbindgen/tests/expectations/tests/public-dtor.rs new file mode 100644 index 00000000..851857ee --- /dev/null +++ b/libbindgen/tests/expectations/tests/public-dtor.rs @@ -0,0 +1,16 @@ +/* automatically generated by rust-bindgen */ + + +#![allow(non_snake_case)] + + +#[repr(C)] +#[derive(Debug)] +pub struct cv_String { + pub _address: u8, +} +#[test] +fn bindgen_test_layout_cv_String() { + assert_eq!(::std::mem::size_of::() , 1usize); + assert_eq!(::std::mem::align_of::() , 1usize); +} diff --git a/libbindgen/tests/headers/public-dtor.hpp b/libbindgen/tests/headers/public-dtor.hpp new file mode 100644 index 00000000..5d4fb592 --- /dev/null +++ b/libbindgen/tests/headers/public-dtor.hpp @@ -0,0 +1,15 @@ + + +namespace cv { +class String { +public: + ~String(); +}; + + +inline +String::~String() +{ +} + +} -- cgit v1.2.3