Skip to content

Commit

Permalink
Fix docstring comment for constants
Browse files Browse the repository at this point in the history
  • Loading branch information
Nico Chatzi committed Apr 10, 2021
1 parent 696455d commit 43a79ac
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/codegen/mod.rs
Expand Up @@ -618,6 +618,10 @@ impl CodeGenerator for Var {
return;
}

if let Some(comment) = item.comment(ctx) {
result.push(attributes::doc(comment));
}

let ty = self.ty().to_rust_ty_or_opaque(ctx, &());

if let Some(val) = self.val() {
Expand Down
37 changes: 37 additions & 0 deletions tests/expectations/tests/issue-1995.rs
@@ -0,0 +1,37 @@
#![allow(
dead_code,
non_snake_case,
non_camel_case_types,
non_upper_case_globals
)]

/// This is a constant that has a docstring
///
/// And expected to be found in generated bindings code too.
pub const FOO: ::std::os::raw::c_int = 1;
/// This is a constant that has a docstring
///
/// And expected to be found in generated bindings code too.
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct Bar {
pub baz: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_Bar() {
assert_eq!(
::std::mem::size_of::<Bar>(),
4usize,
concat!("Size of: ", stringify!(Bar))
);
assert_eq!(
::std::mem::align_of::<Bar>(),
4usize,
concat!("Alignment of ", stringify!(Bar))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<Bar>())).baz as *const _ as usize },
0usize,
concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz))
);
}
12 changes: 12 additions & 0 deletions tests/headers/issue-1995.h
@@ -0,0 +1,12 @@
/// This is a constant that has a docstring
///
/// And expected to be found in generated bindings code too.
const int FOO = 1;

/// This is a constant that has a docstring
///
/// And expected to be found in generated bindings code too.
struct Bar
{
int baz;
};

0 comments on commit 43a79ac

Please sign in to comment.