Lines Matching +full:libclang +full:- +full:dev
1 <!-- START doctoc generated TOC please keep comment here to allow auto update -->
2 <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
4 - [Unreleased](#unreleased)
5 - [Added](#added)
6 - [Changed](#changed)
7 - [Removed](#removed)
8 - [Fixed](#fixed)
9 - [Security](#security)
10 - [0.70.1 (2024-08-20)](#0701-2024-08-20)
11 - [Added](#added-1)
12 - [Changed](#changed-1)
13 - [Removed](#removed-1)
14 - [Fixed](#fixed-1)
15 - [Security](#security-1)
16 - [0.70.0 (2024-08-16)](#0700-2024-08-16)
17 - [Added](#added-2)
18 - [Changed](#changed-2)
19 - [Removed](#removed-2)
20 - [Fixed](#fixed-2)
21 - [Security](#security-2)
22 - [0.69.4 (2024-02-04)](#0694-2024-02-04)
23 - [Added](#added-3)
24 - [Changed](#changed-3)
25 - [Removed](#removed-3)
26 - [Fixed](#fixed-3)
27 - [Security](#security-3)
28 - [0.69.3 (2024-02-04)](#0693-2024-02-04)
29 - [Added](#added-4)
30 - [Changed](#changed-4)
31 - [Removed](#removed-4)
32 - [Fixed](#fixed-4)
33 - [Security](#security-4)
34 - [0.69.2 (2024-01-13)](#0692-2024-01-13)
35 - [Added](#added-5)
36 - [Changed](#changed-5)
37 - [Removed](#removed-5)
38 - [Fixed](#fixed-5)
39 - [Security](#security-5)
40 - [0.69.1 (2023-11-02)](#0691-2023-11-02)
41 - [Fixed](#fixed-6)
42 - [0.69.0 (2023-11-01)](#0690-2023-11-01)
43 - [Added](#added-6)
44 - [Changed](#changed-6)
45 - [Removed](#removed-6)
46 - [Fixed](#fixed-7)
47 - [Security](#security-6)
48 - [0.68.1](#0681)
49 - [Fixed](#fixed-8)
50 - [0.68.0](#0680)
51 - [Added](#added-7)
52 - [Changed](#changed-7)
53 - [Removed](#removed-7)
54 - [Fixed](#fixed-9)
55 - [0.67.0](#0670)
56 - [0.66.1](#0661)
57 - [Removed](#removed-8)
58 - [0.66.0](#0660)
59 - [Added](#added-8)
60 - [Changed](#changed-8)
61 - [Removed](#removed-9)
62 - [0.65.1](#0651)
63 - [Fixed](#fixed-10)
64 - [0.65.0](#0650)
65 - [Added](#added-9)
66 - [Changed](#changed-9)
67 - [Removed](#removed-10)
68 - [0.64.0](#0640)
69 - [Added](#added-10)
70 - [Changed](#changed-10)
71 - [0.63.0](#0630)
72 - [Added](#added-11)
73 - [Changed](#changed-11)
74 - [Removed](#removed-11)
75 - [0.62.0](#0620)
76 - [Added](#added-12)
77 - [Changed](#changed-12)
78 - [Fixed](#fixed-11)
79 - [0.61.0](#0610)
80 - [Added](#added-13)
81 - [Changed](#changed-13)
82 - [Fixed](#fixed-12)
83 - [0.60.1](#0601)
84 - [Fixed](#fixed-13)
85 - [0.60.0](#0600)
86 - [Added](#added-14)
87 - [Fixed](#fixed-14)
88 - [Changed](#changed-14)
89 - [Removed](#removed-12)
90 - [0.59.2](#0592)
91 - [0.59.1](#0591)
92 - [Fixed](#fixed-15)
93 - [0.59.0](#0590)
94 - [Added](#added-15)
95 - [Fixed](#fixed-16)
96 - [Changed](#changed-15)
97 - [0.58.1](#0581)
98 - [Added](#added-16)
99 - [0.58.0](#0580)
100 - [Added](#added-17)
101 - [Fixed](#fixed-17)
102 - [Changed](#changed-16)
103 - [Deprecated](#deprecated)
104 - [Removed](#removed-13)
105 - [Fixed](#fixed-18)
106 - [Security](#security-7)
107 - [0.57.0](#0570)
108 - [Added](#added-18)
109 - [Fixed](#fixed-19)
110 - [0.56.0](#0560)
111 - [Added](#added-19)
112 - [Changed](#changed-17)
113 - [Fixed](#fixed-20)
114 - [0.55.1](#0551)
115 - [Fixed](#fixed-21)
116 - [0.55.0](#0550)
117 - [Removed](#removed-14)
118 - [Added](#added-20)
119 - [Changed](#changed-18)
120 - [Fixed](#fixed-22)
121 - [0.54.1](#0541)
122 - [Added](#added-21)
123 - [Changed](#changed-19)
124 - [Fixed](#fixed-23)
125 - [0.54.0](#0540)
126 - [Added](#added-22)
127 - [Changed](#changed-20)
128 - [Fixed](#fixed-24)
129 - [0.53.3](#0533)
130 - [Added](#added-23)
131 - [Fixed](#fixed-25)
132 - [0.53.2](#0532)
133 - [Changed](#changed-21)
134 - [0.53.1](#0531)
135 - [Added](#added-24)
136 - [0.53.0](#0530)
137 - [Added](#added-25)
138 - [Changed](#changed-22)
139 - [Fixed](#fixed-26)
140 - [0.52.0](#0520)
141 - [Added](#added-26)
142 - [Changed](#changed-23)
143 - [Fixed](#fixed-27)
144 - [0.51.1](#0511)
145 - [Fixed](#fixed-28)
146 - [Changed](#changed-24)
147 - [0.51.0](#0510)
148 - [Fixed](#fixed-29)
149 - [Changed](#changed-25)
150 - [Added](#added-27)
151 - [0.50.0](#0500)
152 - [Added](#added-28)
153 - [0.49.3](#0493)
154 - [Added](#added-29)
155 - [0.49.2](#0492)
156 - [Changed](#changed-26)
157 - [0.49.1](#0491)
158 - [Fixed](#fixed-30)
159 - [Changed](#changed-27)
160 - [0.49.0](#0490)
161 - [Added](#added-30)
162 - [Fixed](#fixed-31)
163 - [Changed](#changed-28)
164 - [0.48.1](#0481)
165 - [Fixed](#fixed-32)
166 - [0.48.0](#0480)
167 - [Changed](#changed-29)
168 - [Fixed](#fixed-33)
169 - [0.47.4](#0474)
170 - [Added](#added-31)
171 - [0.47.3](#0473)
172 - [Changed](#changed-30)
173 - [0.47.2](#0472)
174 - [Fixed](#fixed-34)
175 - [0.47.1](#0471)
176 - [Changed](#changed-31)
177 - [Fixed](#fixed-35)
178 - [0.47.0](#0470)
179 - [Changed](#changed-32)
180 - [Fixed](#fixed-36)
181 - [0.33.1 .. 0.46.0](#0331--0460)
182 - [Added](#added-32)
183 - [Removed](#removed-15)
184 - [Changed](#changed-33)
185 - [Fixed](#fixed-37)
186 - [0.33.1](#0331)
187 - [Fixed](#fixed-38)
188 - [0.33.0](#0330)
189 - [0.32.2](#0322)
190 - [Fixed](#fixed-39)
191 - [0.32.1](#0321)
192 - [Fixed](#fixed-40)
193 - [0.32.0](#0320)
194 - [Added](#added-33)
195 - [Changed](#changed-34)
196 - [Fixed](#fixed-41)
197 - [0.31.0](#0310)
198 - [Added](#added-34)
199 - [Changed](#changed-35)
200 - [Deprecated](#deprecated-1)
201 - [Removed](#removed-16)
202 - [Fixed](#fixed-42)
203 - [0.30.0](#0300)
204 - [Added](#added-35)
205 - [Changed](#changed-36)
206 - [Deprecated](#deprecated-2)
207 - [Fixed](#fixed-43)
208 - [0.29.0](#0290)
209 - [Added](#added-36)
210 - [Changed](#changed-37)
211 - [Fixed](#fixed-44)
213 <!-- END doctoc generated TOC please keep comment here to allow auto update -->
215 --------------------------------------------------------------------------------
223 # 0.70.1 (2024-08-20)
228 - Fix regression where the `const` layout tests were triggering the `unnecessary_operation` and `id…
231 # 0.70.0 (2024-08-16)
233 - Add target mappings for riscv64imac and riscv32imafc.
234 - Add a complex macro fallback API (#2779).
235 - Add option to use DST structs for flexible arrays (--flexarray-dst, #2772).
236 - Add option to dynamically load variables (#2812).
237 - Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, #2847).
239 - Remove which and lazy-static dependencies (#2809, #2817).
240 - Generate compile-time layout tests (#2787).
241 - Print `bindgen-cli` errors to stderr instead of stdout (#2840)
244 - Fix `--formatter=prettyplease` not working in `bindgen-cli` by adding `prettyplease` feature and
245 enabling it by default for `bindgen-cli` (#2789) .
246 - Fix `--allowlist-item` so anonymous enums are no longer ignored (#2827).
247 - Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk (#2824).
248 - Fix generated constants: `f64::INFINITY`, `f64::NEG_ INFINITY`, `f64::NAN` (#2854).
250 - Update `tempfile` and `rustix` due to [GHSA-c827-hfw6-qwvm](https://github.com/advisories/GHSA-c8…
252 # 0.69.4 (2024-02-04)
255 - Allow older itertools. (#2745)
260 # 0.69.3 (2024-02-04)
263 - Added blocklist_var (#2731)
264 - Stabilized thiscall_abi (#2661)
268 - Use CR consistently on windows (#2698)
269 - Replaced peeking_take_while by itertools (#2724)
274 - Try to avoid repr(packed) for explicitly aligned types when not needed (#2734)
275 - Improved destructor handling on Windows (#2663)
276 - Support Float16 (#2667)
277 - Fix alignment contribution from bitfields (#2680)
278 - Fixed msrv build.
282 - Updated shlex dependency (RUSTSEC-2024-0006)
284 # 0.69.2 (2024-01-13)
289 - Fixed generation of extern "C" blocks with llvm 18+. See #2689.
292 # 0.69.1 (2023-11-02)
295 - Allow to run `bindgen -v` without an input header argument.
297 # 0.69.0 (2023-11-01)
300 - Added the `ParseCallbacks::header_file` callback which runs on every filename passed to `Builder:…
301 - Added the `CargoCallbacks::new` constructor which emits a cargo-rerun line
303 - Added the `CargoCallbacks::rerun_on_header_files` method to configure whether
304 a cargo-rerun line should be emitted for every input header file.
306 - The `--wrap-static-fns` feature was updated so function types that has no
308 - `CargoCallbacks` is no longer a [unit-like
309 struct](https://doc.rust-lang.org/reference/items/structs.html) and the
315 - Allow compiling `bindgen-cli` with a static libclang.
316 - Emit an opaque integer type for pointer types that don't have the same size
318 - Avoid escaping Objective-C method names unless they are `Self`, `self`,
325 - Fixed errors on the windows artifact build process.
330 - The `system` ABI is now supported as an option for the `--override-abi` flag.
331 - The `allowlist_item` method and the `--allowlist-item` flag have been
333 - Include installers as release artifacts on Github.
335 - The `Clone` implementation for `_BindgenUnionField` has been changed to pass
337 - The `c_unwind` ABI can be used without a feature gate for any Rust target version
340 - Formatting changes when using prettyplease as a formatter due to a new
342 - Avoid generating invalid `CStr` constants when using the `--generate-cstr`
345 - The `extra_assert` and `extra_assert_eq` macros are no longer exported.
347 - Bindgen no longer panics when parsing an objective-C header that includes a
364 * Added the `--generate-cstr` CLI flag to generate string constants as `&CStr`
366 * Added the `--generate-shell-completions` CLI flag to generate completions for
368 * The `--wrap-static-fns` option can now wrap `va_list` functions as variadic functions
375 * Non-UTF-8 string constants are now generated as references (`&[u8; SIZE]`)
376 instead of arrays (`[u8; SIZE]`) to match UTF-8 strings.
379 * The `--wrap-static-fns` option no longer emits wrappers for static variadic
381 * Depfiles generated with `--depfile` or `Builder::depfile` will now properly
388 auto-generated `_bindgen_*` names having a different index.
399 - bindgen-cli: `env_logger` and `log` removed in favor of `logging`
400 - bindgen (lib):
402 + `which` removed in favor of `which-logging`
403 + `annotate-snippets` removed in favor of `experimental`
419 `--default-visibility` flag to set the default visibility of fields. (#2338)
420 * Added the `--formatter` CLI flag with the values `none`, `rustfmt` and
425 * Added the `Builder::emit_diagnostics` method and the `--emit-diagnostics`
434 `--wrap-static-fns` feature. (#2415)
438 instead of having no arguments when the `--wrap-static-fns` flag is used.
440 * The source file generated when the `--wrap-static-fns` flag is enabled now
443 * The source file generated when the `--wrap-static-fns` flag no longer uses
449 * The `Builder::rustfmt_bindings` methods and the `--no-rustfmt-bindings` flag
453 * The following deprecated flags were removed: `--use-msvc-mangling`,
454 `--rustfmt-bindings` and `--size_t-is-usize`. (#2408)
456 in favor of `--emit-diagnostics`. (#2436)
463 * Added a new set of flags `--with-derive-custom`,
464 `--with-derive-custom-struct`, `--with-derive-custom-enum` and
465 `--with-derive-custom-enum` to add custom derives from the CLI.
466 * Added the `--experimental` flag on `bindgen-cli` and the `experimental`
468 incomplete or are prone to change in a non-backwards compatible manner.
470 `--wrap-static-fns`, `--wrap-static-fns-suffix` and `--wrap-static-fns-path`
479 * Updated the `clang-sys` crate version to 1.4.0 to support clang 15.
481 * Updated the `clap` dependency for `bindgen-cli` to 4.
482 * Rewrote the `bindgen-cli` argument parser which could introduce unexpected
494 * Only wrap unsafe operations in unsafe blocks if the `--wrap_unsafe_ops`
514 * new feature: `--override-abi` flag to override the ABI used by functions
516 * new feature: allow using the `C-unwind` ABI in `--override-abi` on nightly
526 callbacks and composes them in a last-to-first manner.
532 * Various issues with upcoming clang/libclang versions have been fixed.
540 * new feature: `--sort-semantically` flag to sort the output in a predefined
544 * new feature: `--newtype-global-enum` flag to generate enum variants as
546 * new feature: `--default-non-copy-union-style` flag to set the default style
547 of code used to generate unions with non-`Copy` members.
548 * new feature: `--bindgen-wrapper-union` flag to mark any union that matches a
549 regex and has a non-Copy member to use a bindgen-generated wrapper for its
551 * new feature: `--manually-drop-union` flag to mark any union that matches a
552 regex and has a non-`Copy` member to use `ManuallyDrop`.
553 * new feature: `--merge-extern-blocks` flag to merge several `extern` blocks
555 * new feature: `--no-size_t-is-usize` flag to not bind `size_t` as `usize`.
561 * The `--enable-function-attribute-detection` flag is also used to detect
563 * The `--size_t-is-usize` flag is enabled by default.
565 * The `blocklist` options now can be used to block objective-C methods.
568 the `--use-core` flag is enabled.
570 bindgen-cli` now.
579 [(#1743)]: https://github.com/rust-lang/rust-bindgen/issues/1743
595 …* Objective-C structs now derive `Debug` and `Copy` to support C and Objective-C structs. [(#2176)…
596 * Allow fully-qualified derives. (#2156)
598 * `--version --verbose` now prints clang version (#2140).
600 * Added an `--allowlist-file` option (#2122).
605 * Fixed lifetimes with Objective-C trait templates. [(#2176)][]
606 * Fixed objc imports for non-`#[macro_use]` use. [(#2176)][]
620 * Support for ancient libclang versions has been removed.
622 [(#2176)]: https://github.com/rust-lang/rust-bindgen/pull/2176
631 * Some more APIs (blocklist-file, etc).
648 * Support emitting Makefile-syntax depfiles (#2026)
672 * Re-introduced unintentionally removed
708 * `--whitelist-type` is deprecated in favor of
709 `--allowlist-type`. [#1812][]
711 * `--whitelist-function` is deprecated in favor of
712 `--allowlist-function`. [#1812][]
714 * `--whitelist-var` is deprecated in favor of
715 `--allowlist-var`. [#1812][]
726 * `--blacklist-type` is deprecated in favor of
727 `--blocklist-type`. [#1812][]
729 * `--blacklist-function` is deprecated in favor of
730 `--blocklist-function`. [#1812][]
732 * `--blacklist-item` is deprecated in favor of
733 `--blocklist-item`. [#1812][]
735 [#1984]: https://github.com/rust-lang/rust-bindgen/pull/1984
736 [an AArch64 bug]: https://github.com/rust-lang/rust-bindgen/issues/1973
737 [makes the bindings more portable]: https://github.com/rust-lang/rust-bindgen/issues/1983
745 ---
753 * Expose module-raw-lines to the CLI (#1936)
759 * Improved C++ auto-detection (#1933)
770 * Objective-c bindings generate `From<ChildClass> for ParentClass` as well as `TryFrom<ParentClass>…
772 * Option to disable deriving `Default` on a per-struct basis (#1930).
776 * Objective-c bindings borrow self rather than take ownership ([#1883][]).
783 * Fixed objective-c protocol impl blocks for parent classes's protocols ([#1883][]).
785 [#1883]: https://github.com/rust-lang/rust-bindgen/issues/1883
787 --------------------------------------------------------------------------------
798 --------------------------------------------------------------------------------
806 * Support for libclang 3.8 has been removed (#1830).
821 * Objective-C bindings are more idiomatic now (#1847).
823 * Updated to clang-sys 1.0. Minimum supported rust version is 1.40 as
828 * Fixed constness of multi-dimensional arrays in some cases (#1861).
833 * Fixed wrong flags being computed for cross-compilation cases where the target
839 --------------------------------------------------------------------------------
849 * Added ParseCallbacks::func_macro to be able to process function-like macros.
877 --------------------------------------------------------------------------------
890 * Better Objective-C support (#1722, #1750).
895 * Fixed function signatures in some edge cases involving Objective-C or
898 --------------------------------------------------------------------------------
905 the Objective-C breaking changes*
914 * Fixed function signatures in some edge cases involving Objective-C or
917 --------------------------------------------------------------------------------
925 * clang-sys and cexpr have been updated (#1741 and #1744).
929 --------------------------------------------------------------------------------
937 * Opt-in to convert size_t to usize again (#1720).
939 --------------------------------------------------------------------------------
949 * Various objective-C improvements (#1702).
961 --------------------------------------------------------------------------------
973 `default-features = false`, you probably want to use the `"runtime"` feature
978 * Use c_void from core when --use-core is specified and available (#1634).
979 * Various dependencies and features are non-default now (like `regex` unicode
986 * Fixed `#[must_use]` support for libclang 9+ (#1646).
999 a `v0.51.1-oldsyn` version was uploaded without the syn update. [#1627][]
1007 there's a default-on `which-rustfmt` feature which allows to get rid of
1010 * `fxhash` dependency was switched to `rustc-hash`. [#1626][]
1012 [#1627]: https://github.com/rust-lang/rust-bindgen/issues/1627
1013 [#1611]: https://github.com/rust-lang/rust-bindgen/issues/1611
1014 [#1615]: https://github.com/rust-lang/rust-bindgen/issues/1615
1015 [#1625]: https://github.com/rust-lang/rust-bindgen/issues/1625
1016 [#1626]: https://github.com/rust-lang/rust-bindgen/issues/1626
1017 [#1627]: https://github.com/rust-lang/rust-bindgen/issues/1627
1025 * Improve workaround for LLVM stack overflow when evaluating value-dependent
1044 [#1591]: https://github.com/rust-lang/rust-bindgen/issues/1591
1045 [#1592]: https://github.com/rust-lang/rust-bindgen/issues/1592
1046 [#1593]: https://github.com/rust-lang/rust-bindgen/issues/1593
1047 [#1595]: https://github.com/rust-lang/rust-bindgen/issues/1595
1048 [#1596]: https://github.com/rust-lang/rust-bindgen/issues/1596
1049 [#1602]: https://github.com/rust-lang/rust-bindgen/issues/1602
1059 * Various bindgen auto-generated types are now constructible in `const fn`
1068 [#1571]: https://github.com/rust-lang/rust-bindgen/issues/1571
1069 [#1575]: https://github.com/rust-lang/rust-bindgen/issues/1575
1070 [#1581]: https://github.com/rust-lang/rust-bindgen/issues/1581
1071 [#1582]: https://github.com/rust-lang/rust-bindgen/issues/1582
1079 * Various bindgen auto-generated types are now constructible in `const fn`
1088 [#1571]: https://github.com/rust-lang/rust-bindgen/issues/1571
1089 [#1575]: https://github.com/rust-lang/rust-bindgen/issues/1575
1090 [#1581]: https://github.com/rust-lang/rust-bindgen/issues/1581
1103 [#1564]: https://github.com/rust-lang/rust-bindgen/issues/1564
1122 [#1558]: https://github.com/rust-lang/rust-bindgen/issues/1558
1141 * clang-sys was updated by @eclipseo. [#1539][]
1142 * bindgen should now get include paths correctly even when `--target` is
1143 specified. The `detect_include_paths` option can be used to opt-out of this
1146 [#1535]: https://github.com/rust-lang/rust-bindgen/issues/1535
1147 [#1537]: https://github.com/rust-lang/rust-bindgen/issues/1537
1148 [#1540]: https://github.com/rust-lang/rust-bindgen/issues/1540
1149 [#1492]: https://github.com/rust-lang/rust-bindgen/issues/1492
1159 [#1531]: https://github.com/rust-lang/rust-bindgen/issues/1531
1161 --------------------------------------------------------------------------------
1176 [#1529]: https://github.com/rust-lang/rust-bindgen/issues/1529
1177 [#1498]: https://github.com/rust-lang/rust-bindgen/issues/1498
1179 --------------------------------------------------------------------------------
1189 --------------------------------------------------------------------------------
1199 --------------------------------------------------------------------------------
1210 * @flier fixed single-argument block pointers [#1519][]
1213 [#1508]: https://github.com/rust-lang/rust-bindgen/issues/1508
1214 [#1513]: https://github.com/rust-lang/rust-bindgen/issues/1513
1215 [#1515]: https://github.com/rust-lang/rust-bindgen/issues/1515
1216 [#1519]: https://github.com/rust-lang/rust-bindgen/issues/1519
1217 [#1525]: https://github.com/rust-lang/rust-bindgen/issues/1525
1219 --------------------------------------------------------------------------------
1231 * Reverted `clang-sys` update for regressions [#1505][]
1233 [#1505]: https://github.com/rust-lang/rust-bindgen/issues/1505
1234 [#1501]: https://github.com/rust-lang/rust-bindgen/issues/1501
1236 --------------------------------------------------------------------------------
1244 - `#pragma pack(n)` is now translated to `#[repr(C, packed(n))]` when targeting Rust 1.33+. [#537][]
1246 [#537]: https://github.com/rust-lang/rust-bindgen/issues/537
1250 [#1474]: https://github.com/rust-lang/rust-bindgen/issues/1474
1257 [#1495]: https://github.com/rust-lang/rust-bindgen/pull/1495
1259 * `clang-sys` should now more accurately find libclang versions when multiple
1262 [#1489]: https://github.com/rust-lang/rust-bindgen/pull/1489
1264 --------------------------------------------------------------------------------
1268 https://github.com/rust-lang/rust-bindgen/compare/v0.32.2...v0.46.0
1277 [#1307]: https://github.com/rust-lang/rust-bindgen/issues/1307
1284 [#104]: https://github.com/rust-lang/rust-bindgen/issues/104
1290 [#1166]: https://github.com/rust-lang/rust-bindgen/issues/1166
1297 cross-compiling [#1289][].
1299 [#1289]: https://github.com/rust-lang/rust-bindgen/issues/1289
1304 [#1311]: https://github.com/rust-lang/rust-bindgen/issues/1311
1305 [#1312]: https://github.com/rust-lang/rust-bindgen/issues/1312
1307 * Bitfields now work properly on big-endian machines. [#1340][]
1309 [#1340]: https://github.com/rust-lang/rust-bindgen/issues/1340
1313 [#1345]: https://github.com/rust-lang/rust-bindgen/issues/1345
1317 [#1364]: https://github.com/rust-lang/rust-bindgen/issues/1364
1321 --------------------------------------------------------------------------------
1334 [#1248]: https://github.com/rust-lang/rust-bindgen/issues/1248
1336 --------------------------------------------------------------------------------
1340 --------------------------------------------------------------------------------
1355 [#1197]: https://github.com/rust-lang/rust-bindgen/issues/1197
1356 [#1087]: https://github.com/rust-lang/rust-bindgen/issues/1087
1357 [#1216]: https://github.com/rust-lang/rust-bindgen/issues/1216
1358 [#1224]: https://github.com/rust-lang/rust-bindgen/issues/1224
1359 [#1145]: https://github.com/rust-lang/rust-bindgen/issues/1145
1360 [#1184]: https://github.com/rust-lang/rust-bindgen/issues/1184
1369 `--rustified-enum`, properly add `#[repr(C)]` to the emitted `enum`. [#1183][]
1371 [#1183]: https://github.com/rust-lang/rust-bindgen/issues/1183
1373 --------------------------------------------------------------------------------
1381 * Added support for bit-field allocation units that are larger than 64 bits
1382 wide. Note that individual bit-fields within such units are still restricted
1418 field by the Rust keyword name, rather than the non-keyword field name we
1428 * Unnamed bit-fields do not affect alignment of their struct or class in C/C++,
1433 * When a zero-sized type was used in a bit-field, `bindgen` could
1434 divide-by-zero. This is now fixed. [#1137][]
1436 * When a template parameter is used in a bit-field, `bindgen` would panic. This
1443 * In some cases, generated bit-field getters and setters could access memory
1446 [#1162]: https://github.com/rust-lang/rust-bindgen/issues/1162
1447 [#1113]: https://github.com/rust-lang/rust-bindgen/issues/1113
1448 [#1112]: https://github.com/rust-lang/rust-bindgen/issues/1112
1449 [#1123]: https://github.com/rust-lang/rust-bindgen/issues/1123
1450 [#1127]: https://github.com/rust-lang/rust-bindgen/issues/1127
1451 [#1136]: https://github.com/rust-lang/rust-bindgen/issues/1136
1452 [#1137]: https://github.com/rust-lang/rust-bindgen/issues/1137
1453 [#1140]: https://github.com/rust-lang/rust-bindgen/issues/1140
1454 [#1146]: https://github.com/rust-lang/rust-bindgen/issues/1146
1455 [#1118]: https://github.com/rust-lang/rust-bindgen/issues/1118
1456 [#1076]: https://github.com/rust-lang/rust-bindgen/issues/1076
1457 [#1158]: https://github.com/rust-lang/rust-bindgen/issues/1158
1459 --------------------------------------------------------------------------------
1472 command line, use the `--time-phases` flag. From a builder, use the
1475 * You can now disable `#[derive(Copy)]` for all types with `--no-derive-copy`
1481 * Derive `PartialOrd` with the `--with-derive-partialord` CLI flag or
1484 * Derive `Ord` with the `--with-derive-ord` CLI flag or
1488 array-derive limit, `bindgen` can emit an `impl PartialEq for ...`
1489 block. Enable this behavior with the `--impl-partialeq` CLI flag or the
1493 that shouldn't `derive(PartialEq)` with the `--no-partialeq <regex>` CLI flag
1496 * Specify types that should not derive `Copy` with the `--no-copy <regex>` CLI
1502 shouldn't `derive(Hash)` with the `--no-hash <regex>` CLI flag or
1512 …[many small bits](https://github.com/rust-lang/rust-bindgen/issues?utf8=%E2%9C%93&q=label%3AA-csmi…
1522 * If the user does not explicitly pass a `--target` argument for `libclang`,
1531 the `--rustified-enum <regex>` CLI flag and
1538 `rustfmt`. You can disable `rustfmt`ing with `--no-rustfmt-bindings` or
1566 Finished dev [unoptimized + debuginfo] target(s) in 98.75 secs
1574 Finished dev [unoptimized + debuginfo] target(s) in 46.26 secs
1605 * `bindgen` was mis-handling `union`s that contained bitfield members. This has
1608 * Unsigned constants that were greater than `u32::MAX` were being mis-translated
1616 flexibly-sized array members, but knowing how many elements exist in such
1617 arrays requires program-specific knowledge that `bindgen` cannot
1620 [faq]: https://rust-lang.github.io/rust-bindgen/faq.html
1621 [fuzzing]: https://github.com/rust-lang/rust-bindgen/blob/main/csmith-fuzzing/README.md
1623 [#938]: https://github.com/rust-lang/rust-bindgen/issues/938
1624 [#888]: https://github.com/rust-lang/rust-bindgen/issues/888
1625 [#944]: https://github.com/rust-lang/rust-bindgen/issues/944
1626 [#942]: https://github.com/rust-lang/rust-bindgen/issues/942
1627 [#947]: https://github.com/rust-lang/rust-bindgen/issues/947
1628 [#953]: https://github.com/rust-lang/rust-bindgen/issues/953
1629 [#948]: https://github.com/rust-lang/rust-bindgen/issues/948
1630 [#925]: https://github.com/rust-lang/rust-bindgen/issues/925
1631 [#758]: https://github.com/rust-lang/rust-bindgen/issues/758
1632 [#988]: https://github.com/rust-lang/rust-bindgen/issues/988
1633 [#987]: https://github.com/rust-lang/rust-bindgen/issues/987
1634 [#985]: https://github.com/rust-lang/rust-bindgen/issues/985
1635 [#989]: https://github.com/rust-lang/rust-bindgen/issues/989
1636 [#1000]: https://github.com/rust-lang/rust-bindgen/issues/1000
1637 [#882]: https://github.com/rust-lang/rust-bindgen/issues/882
1638 [#884]: https://github.com/rust-lang/rust-bindgen/issues/884
1639 [#996]: https://github.com/rust-lang/rust-bindgen/issues/996
1640 [#982]: https://github.com/rust-lang/rust-bindgen/issues/982
1641 [#1008]: https://github.com/rust-lang/rust-bindgen/issues/1008
1642 [#1022]: https://github.com/rust-lang/rust-bindgen/issues/1022
1643 [#1048]: https://github.com/rust-lang/rust-bindgen/issues/1048
1644 [#1012]: https://github.com/rust-lang/rust-bindgen/issues/1012
1645 [#744]: https://github.com/rust-lang/rust-bindgen/issues/744
1646 [#1065]: https://github.com/rust-lang/rust-bindgen/issues/1065
1647 [#1040]: https://github.com/rust-lang/rust-bindgen/issues/1040
1648 [#1029]: https://github.com/rust-lang/rust-bindgen/issues/1029
1649 [#1094]: https://github.com/rust-lang/rust-bindgen/issues/1094
1650 [#1099]: https://github.com/rust-lang/rust-bindgen/issues/1099
1651 [#1105]: https://github.com/rust-lang/rust-bindgen/issues/1105
1653 --------------------------------------------------------------------------------
1674 $ bindgen --rust-target 1.19
1675 # or `--rust-target nightly` to use unstable features
1684 via `bindgen::Builder::derive_hash` or `--with-derive-hash`. [#876][]
1687 types that contain non-`Debug` types, and therefore cannot
1689 `bindgen::Builder::impl_debug` and `--impl-debug`. [#875][]
1695 `--rustfmt-bindings`, and use non-default `rustfmt` configuration files with
1697 `--rustfmt-configuration-file`. [#900][]
1702 `--with-derive-partialeq`. [#878][]
1707 `--with-derive-eq`. [#880][]
1719 * Determining whether a type can derive `Copy` or not was ported from an ad-hoc
1720 algorithm to our fix-point framework. [#766][]
1723 ad-hoc algorithm to our fix-point framework. [#927][]
1727 * `bindgen::Builder::unstable_rust`/`--unstable-rust` is deprecated, in favor of
1729 `bindgen::Builder::rust_target`/`--rust-target` instead. [#832][]
1739 [#832]: https://github.com/rust-lang/rust-bindgen/issues/832
1740 [#871]: https://github.com/rust-lang/rust-bindgen/issues/871
1741 [#874]: https://github.com/rust-lang/rust-bindgen/pull/874
1742 [#889]: https://github.com/rust-lang/rust-bindgen/pull/874
1743 [#766]: https://github.com/rust-lang/rust-bindgen/issues/766
1744 [#876]: https://github.com/rust-lang/rust-bindgen/issues/876
1745 [#875]: https://github.com/rust-lang/rust-bindgen/issues/875
1746 [#906]: https://github.com/rust-lang/rust-bindgen/pull/906
1747 [#900]: https://github.com/rust-lang/rust-bindgen/issues/900
1748 [#878]: https://github.com/rust-lang/rust-bindgen/issues/878
1749 [#880]: https://github.com/rust-lang/rust-bindgen/issues/880
1750 [#927]: https://github.com/rust-lang/rust-bindgen/issues/927
1752 --------------------------------------------------------------------------------
1760 * ["Constified enum modules"](https://github.com/rust-lang/rust-bindgen/pull/741)
1767 // bindgen-flags: --constified-enum-module PetKind
1784 /* automatically generated by rust-bindgen */
1803 Use `bindgen::Builder::constified_enum_module` or `--constified-enum-module`.
1806 …[mark particular template instantiations as "opaque"](https://github.com/rust-lang/rust-bindgen/pu…
1812 `bindgen::Builder::opaque_type("SomeTemplate<Foo, Bar>")` or `--opaque-type
1816 [preprocess and dump](https://github.com/rust-lang/rust-bindgen/pull/812)
1820 `--dump-preprocessed-input`.
1822 * We now use a fix-point analysis to determine whether any given type can derive
1824 were using an ad-hoc algorithm that had at various times suffered from things
1827 [#767](https://github.com/rust-lang/rust-bindgen/issues/767)
1828 [#765](https://github.com/rust-lang/rust-bindgen/issues/765)
1832 * The `bindgen` repository has moved under the `rust-lang-nursery` umbrella! The
1833 new repository URL is https://github.com/rust-lang-nursery/rust-bindgen
1839 errors). [#679](https://github.com/rust-lang/rust-bindgen/issues/769)
1842 iOS. [#776](https://github.com/rust-lang/rust-bindgen/pull/776)
1847 `std_basic_string`. [#789](https://github.com/rust-lang/rust-bindgen/issues/789)
1851 errors. [#807](https://github.com/rust-lang/rust-bindgen/issues/807)
1854 targets. [#819](https://github.com/rust-lang/rust-bindgen/issues/819)
1858 errors. [#820](https://github.com/rust-lang/rust-bindgen/issues/820)
1864 [#394](https://github.com/rust-lang/rust-bindgen/issues/394)
1870 [#648](https://github.com/rust-lang/rust-bindgen/issues/648)