We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
void foo(__attribute__((noreturn)) void (*arg)(void));
$ bindgen /tmp/foo.h
/* automatically generated by rust-bindgen 0.66.1 */ extern "C" { pub fn foo(arg: ::std::option::Option<unsafe extern "C" fn() -> !>) -> !; }
/* automatically generated by rust-bindgen 0.66.1 */ extern "C" { pub fn foo(arg: ::std::option::Option<unsafe extern "C" fn() -> !>); }
Note the lack of the second -> !.
-> !
I'm fairly sure the problem is here:
rust-bindgen/bindgen/ir/function.rs
Lines 508 to 511 in d0c2b1e
Since the type of argument of the function contains __attribute__((noreturn)), this assumes that the function does as well...
__attribute__((noreturn))
The text was updated successfully, but these errors were encountered:
Fixes rust-lang#2715.
c58431c
fb72abf
7ef6f9d
0529110
Fixes #2715.
8fffbf8
Successfully merging a pull request may close this issue.
Input C/C++ Header
Bindgen Invocation
$ bindgen /tmp/foo.h
Actual Results
Expected Results
Note the lack of the second
-> !
.Notes
I'm fairly sure the problem is here:
rust-bindgen/bindgen/ir/function.rs
Lines 508 to 511 in d0c2b1e
Since the type of argument of the function contains
__attribute__((noreturn))
, this assumes that the function does as well...The text was updated successfully, but these errors were encountered: