1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#[repr(C)]
7#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
8pub struct __BindgenBitfieldUnit<Storage, Align>
9where
10 Storage: AsRef<[u8]> + AsMut<[u8]>,
11{
12 storage: Storage,
13 align: [Align; 0],
14}
15
16impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
17where
18 Storage: AsRef<[u8]> + AsMut<[u8]>,
19{
20 #[inline]
21 pub fn new(storage: Storage) -> Self {
22 Self { storage, align: [] }
23 }
24
25 #[inline]
26 pub fn get_bit(&self, index: usize) -> bool {
27 debug_assert!(index / 8 < self.storage.as_ref().len());
28
29 let byte_index = index / 8;
30 let byte = self.storage.as_ref()[byte_index];
31
32 let bit_index = index % 8;
33 let mask = 1 << bit_index;
34
35 byte & mask == mask
36 }
37
38 #[inline]
39 pub fn set_bit(&mut self, index: usize, val: bool) {
40 debug_assert!(index / 8 < self.storage.as_ref().len());
41
42 let byte_index = index / 8;
43 let byte = &mut self.storage.as_mut()[byte_index];
44
45 let bit_index = index % 8;
46 let mask = 1 << bit_index;
47
48 if val {
49 *byte |= mask;
50 } else {
51 *byte &= !mask;
52 }
53 }
54
55 #[inline]
56 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
57 debug_assert!(bit_width <= 64);
58 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
59 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
60
61 let mut val = 0;
62
63 for i in 0..(bit_width as usize) {
64 if self.get_bit(i + bit_offset) {
65 val |= 1 << i;
66 }
67 }
68
69 val
70 }
71
72 #[inline]
73 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
74 debug_assert!(bit_width <= 64);
75 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
76 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
77
78 for i in 0..(bit_width as usize) {
79 let mask = 1 << i;
80 let val_bit_is_set = val & mask == mask;
81 self.set_bit(i + bit_offset, val_bit_is_set);
82 }
83 }
84}
85pub type __clockid_t = ::std::os::raw::c_int;
86pub type clockid_t = __clockid_t;
87#[repr(C)]
88#[derive(Debug, Copy, Clone)]
89pub struct __sigset_t {
90 pub __val: [usize; 16usize],
91}
92#[test]
93fn bindgen_test_layout___sigset_t() {
94 assert_eq!(
95 ::std::mem::size_of::<__sigset_t>(),
96 128usize,
97 concat!("Size of: ", stringify!(__sigset_t))
98 );
99 assert_eq!(
100 ::std::mem::align_of::<__sigset_t>(),
101 8usize,
102 concat!("Alignment of ", stringify!(__sigset_t))
103 );
104 assert_eq!(
105 unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
106 0usize,
107 concat!(
108 "Offset of field: ",
109 stringify!(__sigset_t),
110 "::",
111 stringify!(__val)
112 )
113 );
114}
115pub type pthread_t = usize;
116#[repr(C)]
117#[derive(Debug, Copy, Clone)]
118pub struct __pthread_internal_list {
119 pub __prev: *mut __pthread_internal_list,
120 pub __next: *mut __pthread_internal_list,
121}
122#[test]
123fn bindgen_test_layout___pthread_internal_list() {
124 assert_eq!(
125 ::std::mem::size_of::<__pthread_internal_list>(),
126 16usize,
127 concat!("Size of: ", stringify!(__pthread_internal_list))
128 );
129 assert_eq!(
130 ::std::mem::align_of::<__pthread_internal_list>(),
131 8usize,
132 concat!("Alignment of ", stringify!(__pthread_internal_list))
133 );
134 assert_eq!(
135 unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
136 0usize,
137 concat!(
138 "Offset of field: ",
139 stringify!(__pthread_internal_list),
140 "::",
141 stringify!(__prev)
142 )
143 );
144 assert_eq!(
145 unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
146 8usize,
147 concat!(
148 "Offset of field: ",
149 stringify!(__pthread_internal_list),
150 "::",
151 stringify!(__next)
152 )
153 );
154}
155pub type __pthread_list_t = __pthread_internal_list;
156#[repr(C)]
157#[derive(Copy, Clone)]
158pub union pthread_mutex_t {
159 pub __data: pthread_mutex_t___pthread_mutex_s,
160 pub __size: [::std::os::raw::c_char; 40usize],
161 pub __align: ::std::os::raw::c_long,
162 _bindgen_union_align: [u64; 5usize],
163}
164#[repr(C)]
165#[derive(Debug, Copy, Clone)]
166pub struct pthread_mutex_t___pthread_mutex_s {
167 pub __lock: ::std::os::raw::c_int,
168 pub __count: ::std::os::raw::c_uint,
169 pub __owner: ::std::os::raw::c_int,
170 pub __nusers: ::std::os::raw::c_uint,
171 pub __kind: ::std::os::raw::c_int,
172 pub __spins: ::std::os::raw::c_short,
173 pub __elision: ::std::os::raw::c_short,
174 pub __list: __pthread_list_t,
175}
176#[test]
177fn bindgen_test_layout_pthread_mutex_t___pthread_mutex_s() {
178 assert_eq!(
179 ::std::mem::size_of::<pthread_mutex_t___pthread_mutex_s>(),
180 40usize,
181 concat!("Size of: ", stringify!(pthread_mutex_t___pthread_mutex_s))
182 );
183 assert_eq!(
184 ::std::mem::align_of::<pthread_mutex_t___pthread_mutex_s>(),
185 8usize,
186 concat!(
187 "Alignment of ",
188 stringify!(pthread_mutex_t___pthread_mutex_s)
189 )
190 );
191 assert_eq!(
192 unsafe {
193 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__lock as *const _
194 as usize
195 },
196 0usize,
197 concat!(
198 "Offset of field: ",
199 stringify!(pthread_mutex_t___pthread_mutex_s),
200 "::",
201 stringify!(__lock)
202 )
203 );
204 assert_eq!(
205 unsafe {
206 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__count as *const _
207 as usize
208 },
209 4usize,
210 concat!(
211 "Offset of field: ",
212 stringify!(pthread_mutex_t___pthread_mutex_s),
213 "::",
214 stringify!(__count)
215 )
216 );
217 assert_eq!(
218 unsafe {
219 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__owner as *const _
220 as usize
221 },
222 8usize,
223 concat!(
224 "Offset of field: ",
225 stringify!(pthread_mutex_t___pthread_mutex_s),
226 "::",
227 stringify!(__owner)
228 )
229 );
230 assert_eq!(
231 unsafe {
232 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__nusers as *const _
233 as usize
234 },
235 12usize,
236 concat!(
237 "Offset of field: ",
238 stringify!(pthread_mutex_t___pthread_mutex_s),
239 "::",
240 stringify!(__nusers)
241 )
242 );
243 assert_eq!(
244 unsafe {
245 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__kind as *const _
246 as usize
247 },
248 16usize,
249 concat!(
250 "Offset of field: ",
251 stringify!(pthread_mutex_t___pthread_mutex_s),
252 "::",
253 stringify!(__kind)
254 )
255 );
256 assert_eq!(
257 unsafe {
258 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__spins as *const _
259 as usize
260 },
261 20usize,
262 concat!(
263 "Offset of field: ",
264 stringify!(pthread_mutex_t___pthread_mutex_s),
265 "::",
266 stringify!(__spins)
267 )
268 );
269 assert_eq!(
270 unsafe {
271 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__elision as *const _
272 as usize
273 },
274 22usize,
275 concat!(
276 "Offset of field: ",
277 stringify!(pthread_mutex_t___pthread_mutex_s),
278 "::",
279 stringify!(__elision)
280 )
281 );
282 assert_eq!(
283 unsafe {
284 &(*(::std::ptr::null::<pthread_mutex_t___pthread_mutex_s>())).__list as *const _
285 as usize
286 },
287 24usize,
288 concat!(
289 "Offset of field: ",
290 stringify!(pthread_mutex_t___pthread_mutex_s),
291 "::",
292 stringify!(__list)
293 )
294 );
295}
296#[test]
297fn bindgen_test_layout_pthread_mutex_t() {
298 assert_eq!(
299 ::std::mem::size_of::<pthread_mutex_t>(),
300 40usize,
301 concat!("Size of: ", stringify!(pthread_mutex_t))
302 );
303 assert_eq!(
304 ::std::mem::align_of::<pthread_mutex_t>(),
305 8usize,
306 concat!("Alignment of ", stringify!(pthread_mutex_t))
307 );
308 assert_eq!(
309 unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
310 0usize,
311 concat!(
312 "Offset of field: ",
313 stringify!(pthread_mutex_t),
314 "::",
315 stringify!(__data)
316 )
317 );
318 assert_eq!(
319 unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
320 0usize,
321 concat!(
322 "Offset of field: ",
323 stringify!(pthread_mutex_t),
324 "::",
325 stringify!(__size)
326 )
327 );
328 assert_eq!(
329 unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
330 0usize,
331 concat!(
332 "Offset of field: ",
333 stringify!(pthread_mutex_t),
334 "::",
335 stringify!(__align)
336 )
337 );
338}
339impl ::std::fmt::Debug for pthread_mutex_t {
340 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
341 write!(f, "pthread_mutex_t {{ union }}")
342 }
343}
344#[repr(C)]
345#[derive(Copy, Clone)]
346pub union pthread_cond_t {
347 pub __data: pthread_cond_t__bindgen_ty_1,
348 pub __size: [::std::os::raw::c_char; 48usize],
349 pub __align: ::std::os::raw::c_longlong,
350 _bindgen_union_align: [u64; 6usize],
351}
352#[repr(C)]
353#[derive(Debug, Copy, Clone)]
354pub struct pthread_cond_t__bindgen_ty_1 {
355 pub __lock: ::std::os::raw::c_int,
356 pub __futex: ::std::os::raw::c_uint,
357 pub __total_seq: ::std::os::raw::c_ulonglong,
358 pub __wakeup_seq: ::std::os::raw::c_ulonglong,
359 pub __woken_seq: ::std::os::raw::c_ulonglong,
360 pub __mutex: *mut ::std::os::raw::c_void,
361 pub __nwaiters: ::std::os::raw::c_uint,
362 pub __broadcast_seq: ::std::os::raw::c_uint,
363}
364#[test]
365fn bindgen_test_layout_pthread_cond_t__bindgen_ty_1() {
366 assert_eq!(
367 ::std::mem::size_of::<pthread_cond_t__bindgen_ty_1>(),
368 48usize,
369 concat!("Size of: ", stringify!(pthread_cond_t__bindgen_ty_1))
370 );
371 assert_eq!(
372 ::std::mem::align_of::<pthread_cond_t__bindgen_ty_1>(),
373 8usize,
374 concat!("Alignment of ", stringify!(pthread_cond_t__bindgen_ty_1))
375 );
376 assert_eq!(
377 unsafe {
378 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__lock as *const _ as usize
379 },
380 0usize,
381 concat!(
382 "Offset of field: ",
383 stringify!(pthread_cond_t__bindgen_ty_1),
384 "::",
385 stringify!(__lock)
386 )
387 );
388 assert_eq!(
389 unsafe {
390 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__futex as *const _ as usize
391 },
392 4usize,
393 concat!(
394 "Offset of field: ",
395 stringify!(pthread_cond_t__bindgen_ty_1),
396 "::",
397 stringify!(__futex)
398 )
399 );
400 assert_eq!(
401 unsafe {
402 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__total_seq as *const _
403 as usize
404 },
405 8usize,
406 concat!(
407 "Offset of field: ",
408 stringify!(pthread_cond_t__bindgen_ty_1),
409 "::",
410 stringify!(__total_seq)
411 )
412 );
413 assert_eq!(
414 unsafe {
415 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__wakeup_seq as *const _
416 as usize
417 },
418 16usize,
419 concat!(
420 "Offset of field: ",
421 stringify!(pthread_cond_t__bindgen_ty_1),
422 "::",
423 stringify!(__wakeup_seq)
424 )
425 );
426 assert_eq!(
427 unsafe {
428 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__woken_seq as *const _
429 as usize
430 },
431 24usize,
432 concat!(
433 "Offset of field: ",
434 stringify!(pthread_cond_t__bindgen_ty_1),
435 "::",
436 stringify!(__woken_seq)
437 )
438 );
439 assert_eq!(
440 unsafe {
441 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__mutex as *const _ as usize
442 },
443 32usize,
444 concat!(
445 "Offset of field: ",
446 stringify!(pthread_cond_t__bindgen_ty_1),
447 "::",
448 stringify!(__mutex)
449 )
450 );
451 assert_eq!(
452 unsafe {
453 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__nwaiters as *const _ as usize
454 },
455 40usize,
456 concat!(
457 "Offset of field: ",
458 stringify!(pthread_cond_t__bindgen_ty_1),
459 "::",
460 stringify!(__nwaiters)
461 )
462 );
463 assert_eq!(
464 unsafe {
465 &(*(::std::ptr::null::<pthread_cond_t__bindgen_ty_1>())).__broadcast_seq as *const _
466 as usize
467 },
468 44usize,
469 concat!(
470 "Offset of field: ",
471 stringify!(pthread_cond_t__bindgen_ty_1),
472 "::",
473 stringify!(__broadcast_seq)
474 )
475 );
476}
477#[test]
478fn bindgen_test_layout_pthread_cond_t() {
479 assert_eq!(
480 ::std::mem::size_of::<pthread_cond_t>(),
481 48usize,
482 concat!("Size of: ", stringify!(pthread_cond_t))
483 );
484 assert_eq!(
485 ::std::mem::align_of::<pthread_cond_t>(),
486 8usize,
487 concat!("Alignment of ", stringify!(pthread_cond_t))
488 );
489 assert_eq!(
490 unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
491 0usize,
492 concat!(
493 "Offset of field: ",
494 stringify!(pthread_cond_t),
495 "::",
496 stringify!(__data)
497 )
498 );
499 assert_eq!(
500 unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
501 0usize,
502 concat!(
503 "Offset of field: ",
504 stringify!(pthread_cond_t),
505 "::",
506 stringify!(__size)
507 )
508 );
509 assert_eq!(
510 unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
511 0usize,
512 concat!(
513 "Offset of field: ",
514 stringify!(pthread_cond_t),
515 "::",
516 stringify!(__align)
517 )
518 );
519}
520impl ::std::fmt::Debug for pthread_cond_t {
521 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
522 write!(f, "pthread_cond_t {{ union }}")
523 }
524}
525pub type VALUE = usize;
526pub type ID = usize;
527#[repr(C)]
528#[derive(Debug, Copy, Clone)]
529pub struct RBasic {
530 pub flags: VALUE,
531 pub klass: VALUE,
532}
533#[test]
534fn bindgen_test_layout_RBasic() {
535 assert_eq!(
536 ::std::mem::size_of::<RBasic>(),
537 16usize,
538 concat!("Size of: ", stringify!(RBasic))
539 );
540 assert_eq!(
541 ::std::mem::align_of::<RBasic>(),
542 8usize,
543 concat!("Alignment of ", stringify!(RBasic))
544 );
545 assert_eq!(
546 unsafe { &(*(::std::ptr::null::<RBasic>())).flags as *const _ as usize },
547 0usize,
548 concat!(
549 "Offset of field: ",
550 stringify!(RBasic),
551 "::",
552 stringify!(flags)
553 )
554 );
555 assert_eq!(
556 unsafe { &(*(::std::ptr::null::<RBasic>())).klass as *const _ as usize },
557 8usize,
558 concat!(
559 "Offset of field: ",
560 stringify!(RBasic),
561 "::",
562 stringify!(klass)
563 )
564 );
565}
566#[repr(C)]
567#[derive(Copy, Clone)]
568pub struct RString {
569 pub basic: RBasic,
570 pub as_: RString__bindgen_ty_1,
571}
572#[repr(C)]
573#[derive(Copy, Clone)]
574pub union RString__bindgen_ty_1 {
575 pub heap: RString__bindgen_ty_1__bindgen_ty_1,
576 pub ary: [::std::os::raw::c_char; 24usize],
577 _bindgen_union_align: [u64; 3usize],
578}
579#[repr(C)]
580#[derive(Copy, Clone)]
581pub struct RString__bindgen_ty_1__bindgen_ty_1 {
582 pub len: ::std::os::raw::c_long,
583 pub ptr: *mut ::std::os::raw::c_char,
584 pub aux: RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
585}
586#[repr(C)]
587#[derive(Copy, Clone)]
588pub union RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
589 pub capa: ::std::os::raw::c_long,
590 pub shared: VALUE,
591 _bindgen_union_align: u64,
592}
593#[test]
594fn bindgen_test_layout_RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
595 assert_eq!(
596 ::std::mem::size_of::<RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
597 8usize,
598 concat!(
599 "Size of: ",
600 stringify!(RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
601 )
602 );
603 assert_eq!(
604 ::std::mem::align_of::<RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
605 8usize,
606 concat!(
607 "Alignment of ",
608 stringify!(RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
609 )
610 );
611 assert_eq!(
612 unsafe {
613 &(*(::std::ptr::null::<RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())).capa
614 as *const _ as usize
615 },
616 0usize,
617 concat!(
618 "Offset of field: ",
619 stringify!(RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
620 "::",
621 stringify!(capa)
622 )
623 );
624 assert_eq!(
625 unsafe {
626 &(*(::std::ptr::null::<RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())).shared
627 as *const _ as usize
628 },
629 0usize,
630 concat!(
631 "Offset of field: ",
632 stringify!(RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
633 "::",
634 stringify!(shared)
635 )
636 );
637}
638impl ::std::fmt::Debug for RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
639 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
640 write!(
641 f,
642 "RString__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {{ union }}"
643 )
644 }
645}
646#[test]
647fn bindgen_test_layout_RString__bindgen_ty_1__bindgen_ty_1() {
648 assert_eq!(
649 ::std::mem::size_of::<RString__bindgen_ty_1__bindgen_ty_1>(),
650 24usize,
651 concat!("Size of: ", stringify!(RString__bindgen_ty_1__bindgen_ty_1))
652 );
653 assert_eq!(
654 ::std::mem::align_of::<RString__bindgen_ty_1__bindgen_ty_1>(),
655 8usize,
656 concat!(
657 "Alignment of ",
658 stringify!(RString__bindgen_ty_1__bindgen_ty_1)
659 )
660 );
661 assert_eq!(
662 unsafe {
663 &(*(::std::ptr::null::<RString__bindgen_ty_1__bindgen_ty_1>())).len as *const _ as usize
664 },
665 0usize,
666 concat!(
667 "Offset of field: ",
668 stringify!(RString__bindgen_ty_1__bindgen_ty_1),
669 "::",
670 stringify!(len)
671 )
672 );
673 assert_eq!(
674 unsafe {
675 &(*(::std::ptr::null::<RString__bindgen_ty_1__bindgen_ty_1>())).ptr as *const _ as usize
676 },
677 8usize,
678 concat!(
679 "Offset of field: ",
680 stringify!(RString__bindgen_ty_1__bindgen_ty_1),
681 "::",
682 stringify!(ptr)
683 )
684 );
685 assert_eq!(
686 unsafe {
687 &(*(::std::ptr::null::<RString__bindgen_ty_1__bindgen_ty_1>())).aux as *const _ as usize
688 },
689 16usize,
690 concat!(
691 "Offset of field: ",
692 stringify!(RString__bindgen_ty_1__bindgen_ty_1),
693 "::",
694 stringify!(aux)
695 )
696 );
697}
698impl ::std::fmt::Debug for RString__bindgen_ty_1__bindgen_ty_1 {
699 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
700 write!(
701 f,
702 "RString__bindgen_ty_1__bindgen_ty_1 {{ len: {:?}, ptr: {:?}, aux: {:?} }}",
703 self.len, self.ptr, self.aux
704 )
705 }
706}
707#[test]
708fn bindgen_test_layout_RString__bindgen_ty_1() {
709 assert_eq!(
710 ::std::mem::size_of::<RString__bindgen_ty_1>(),
711 24usize,
712 concat!("Size of: ", stringify!(RString__bindgen_ty_1))
713 );
714 assert_eq!(
715 ::std::mem::align_of::<RString__bindgen_ty_1>(),
716 8usize,
717 concat!("Alignment of ", stringify!(RString__bindgen_ty_1))
718 );
719 assert_eq!(
720 unsafe { &(*(::std::ptr::null::<RString__bindgen_ty_1>())).heap as *const _ as usize },
721 0usize,
722 concat!(
723 "Offset of field: ",
724 stringify!(RString__bindgen_ty_1),
725 "::",
726 stringify!(heap)
727 )
728 );
729 assert_eq!(
730 unsafe { &(*(::std::ptr::null::<RString__bindgen_ty_1>())).ary as *const _ as usize },
731 0usize,
732 concat!(
733 "Offset of field: ",
734 stringify!(RString__bindgen_ty_1),
735 "::",
736 stringify!(ary)
737 )
738 );
739}
740impl ::std::fmt::Debug for RString__bindgen_ty_1 {
741 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
742 write!(f, "RString__bindgen_ty_1 {{ union }}")
743 }
744}
745#[test]
746fn bindgen_test_layout_RString() {
747 assert_eq!(
748 ::std::mem::size_of::<RString>(),
749 40usize,
750 concat!("Size of: ", stringify!(RString))
751 );
752 assert_eq!(
753 ::std::mem::align_of::<RString>(),
754 8usize,
755 concat!("Alignment of ", stringify!(RString))
756 );
757 assert_eq!(
758 unsafe { &(*(::std::ptr::null::<RString>())).basic as *const _ as usize },
759 0usize,
760 concat!(
761 "Offset of field: ",
762 stringify!(RString),
763 "::",
764 stringify!(basic)
765 )
766 );
767 assert_eq!(
768 unsafe { &(*(::std::ptr::null::<RString>())).as_ as *const _ as usize },
769 16usize,
770 concat!(
771 "Offset of field: ",
772 stringify!(RString),
773 "::",
774 stringify!(as_)
775 )
776 );
777}
778impl ::std::fmt::Debug for RString {
779 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
780 write!(
781 f,
782 "RString {{ basic: {:?}, as: {:?} }}",
783 self.basic, self.as_
784 )
785 }
786}
787#[repr(C)]
788#[derive(Copy, Clone)]
789pub struct RArray {
790 pub basic: RBasic,
791 pub as_: RArray__bindgen_ty_1,
792}
793#[repr(C)]
794#[derive(Copy, Clone)]
795pub union RArray__bindgen_ty_1 {
796 pub heap: RArray__bindgen_ty_1__bindgen_ty_1,
797 pub ary: [VALUE; 3usize],
798 _bindgen_union_align: [u64; 3usize],
799}
800#[repr(C)]
801#[derive(Copy, Clone)]
802pub struct RArray__bindgen_ty_1__bindgen_ty_1 {
803 pub len: ::std::os::raw::c_long,
804 pub aux: RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
805 pub ptr: *mut VALUE,
806}
807#[repr(C)]
808#[derive(Copy, Clone)]
809pub union RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
810 pub capa: ::std::os::raw::c_long,
811 pub shared: VALUE,
812 _bindgen_union_align: u64,
813}
814#[test]
815fn bindgen_test_layout_RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() {
816 assert_eq!(
817 ::std::mem::size_of::<RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
818 8usize,
819 concat!(
820 "Size of: ",
821 stringify!(RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
822 )
823 );
824 assert_eq!(
825 ::std::mem::align_of::<RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(),
826 8usize,
827 concat!(
828 "Alignment of ",
829 stringify!(RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1)
830 )
831 );
832 assert_eq!(
833 unsafe {
834 &(*(::std::ptr::null::<RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())).capa
835 as *const _ as usize
836 },
837 0usize,
838 concat!(
839 "Offset of field: ",
840 stringify!(RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
841 "::",
842 stringify!(capa)
843 )
844 );
845 assert_eq!(
846 unsafe {
847 &(*(::std::ptr::null::<RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>())).shared
848 as *const _ as usize
849 },
850 0usize,
851 concat!(
852 "Offset of field: ",
853 stringify!(RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1),
854 "::",
855 stringify!(shared)
856 )
857 );
858}
859impl ::std::fmt::Debug for RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
860 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
861 write!(
862 f,
863 "RArray__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {{ union }}"
864 )
865 }
866}
867#[test]
868fn bindgen_test_layout_RArray__bindgen_ty_1__bindgen_ty_1() {
869 assert_eq!(
870 ::std::mem::size_of::<RArray__bindgen_ty_1__bindgen_ty_1>(),
871 24usize,
872 concat!("Size of: ", stringify!(RArray__bindgen_ty_1__bindgen_ty_1))
873 );
874 assert_eq!(
875 ::std::mem::align_of::<RArray__bindgen_ty_1__bindgen_ty_1>(),
876 8usize,
877 concat!(
878 "Alignment of ",
879 stringify!(RArray__bindgen_ty_1__bindgen_ty_1)
880 )
881 );
882 assert_eq!(
883 unsafe {
884 &(*(::std::ptr::null::<RArray__bindgen_ty_1__bindgen_ty_1>())).len as *const _ as usize
885 },
886 0usize,
887 concat!(
888 "Offset of field: ",
889 stringify!(RArray__bindgen_ty_1__bindgen_ty_1),
890 "::",
891 stringify!(len)
892 )
893 );
894 assert_eq!(
895 unsafe {
896 &(*(::std::ptr::null::<RArray__bindgen_ty_1__bindgen_ty_1>())).aux as *const _ as usize
897 },
898 8usize,
899 concat!(
900 "Offset of field: ",
901 stringify!(RArray__bindgen_ty_1__bindgen_ty_1),
902 "::",
903 stringify!(aux)
904 )
905 );
906 assert_eq!(
907 unsafe {
908 &(*(::std::ptr::null::<RArray__bindgen_ty_1__bindgen_ty_1>())).ptr as *const _ as usize
909 },
910 16usize,
911 concat!(
912 "Offset of field: ",
913 stringify!(RArray__bindgen_ty_1__bindgen_ty_1),
914 "::",
915 stringify!(ptr)
916 )
917 );
918}
919impl ::std::fmt::Debug for RArray__bindgen_ty_1__bindgen_ty_1 {
920 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
921 write!(
922 f,
923 "RArray__bindgen_ty_1__bindgen_ty_1 {{ len: {:?}, aux: {:?}, ptr: {:?} }}",
924 self.len, self.aux, self.ptr
925 )
926 }
927}
928#[test]
929fn bindgen_test_layout_RArray__bindgen_ty_1() {
930 assert_eq!(
931 ::std::mem::size_of::<RArray__bindgen_ty_1>(),
932 24usize,
933 concat!("Size of: ", stringify!(RArray__bindgen_ty_1))
934 );
935 assert_eq!(
936 ::std::mem::align_of::<RArray__bindgen_ty_1>(),
937 8usize,
938 concat!("Alignment of ", stringify!(RArray__bindgen_ty_1))
939 );
940 assert_eq!(
941 unsafe { &(*(::std::ptr::null::<RArray__bindgen_ty_1>())).heap as *const _ as usize },
942 0usize,
943 concat!(
944 "Offset of field: ",
945 stringify!(RArray__bindgen_ty_1),
946 "::",
947 stringify!(heap)
948 )
949 );
950 assert_eq!(
951 unsafe { &(*(::std::ptr::null::<RArray__bindgen_ty_1>())).ary as *const _ as usize },
952 0usize,
953 concat!(
954 "Offset of field: ",
955 stringify!(RArray__bindgen_ty_1),
956 "::",
957 stringify!(ary)
958 )
959 );
960}
961impl ::std::fmt::Debug for RArray__bindgen_ty_1 {
962 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
963 write!(f, "RArray__bindgen_ty_1 {{ union }}")
964 }
965}
966#[test]
967fn bindgen_test_layout_RArray() {
968 assert_eq!(
969 ::std::mem::size_of::<RArray>(),
970 40usize,
971 concat!("Size of: ", stringify!(RArray))
972 );
973 assert_eq!(
974 ::std::mem::align_of::<RArray>(),
975 8usize,
976 concat!("Alignment of ", stringify!(RArray))
977 );
978 assert_eq!(
979 unsafe { &(*(::std::ptr::null::<RArray>())).basic as *const _ as usize },
980 0usize,
981 concat!(
982 "Offset of field: ",
983 stringify!(RArray),
984 "::",
985 stringify!(basic)
986 )
987 );
988 assert_eq!(
989 unsafe { &(*(::std::ptr::null::<RArray>())).as_ as *const _ as usize },
990 16usize,
991 concat!(
992 "Offset of field: ",
993 stringify!(RArray),
994 "::",
995 stringify!(as_)
996 )
997 );
998}
999impl ::std::fmt::Debug for RArray {
1000 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1001 write!(
1002 f,
1003 "RArray {{ basic: {:?}, as: {:?} }}",
1004 self.basic, self.as_
1005 )
1006 }
1007}
1008#[repr(C)]
1009#[derive(Debug, Copy, Clone)]
1010pub struct rb_global_variable {
1011 _unused: [u8; 0],
1012}
1013pub type st_data_t = usize;
1014pub type st_index_t = st_data_t;
1015#[repr(C)]
1016#[derive(Debug, Copy, Clone)]
1017pub struct st_hash_type {
1018 pub compare: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
1019 pub hash: ::std::option::Option<unsafe extern "C" fn() -> st_index_t>,
1020}
1021#[test]
1022fn bindgen_test_layout_st_hash_type() {
1023 assert_eq!(
1024 ::std::mem::size_of::<st_hash_type>(),
1025 16usize,
1026 concat!("Size of: ", stringify!(st_hash_type))
1027 );
1028 assert_eq!(
1029 ::std::mem::align_of::<st_hash_type>(),
1030 8usize,
1031 concat!("Alignment of ", stringify!(st_hash_type))
1032 );
1033 assert_eq!(
1034 unsafe { &(*(::std::ptr::null::<st_hash_type>())).compare as *const _ as usize },
1035 0usize,
1036 concat!(
1037 "Offset of field: ",
1038 stringify!(st_hash_type),
1039 "::",
1040 stringify!(compare)
1041 )
1042 );
1043 assert_eq!(
1044 unsafe { &(*(::std::ptr::null::<st_hash_type>())).hash as *const _ as usize },
1045 8usize,
1046 concat!(
1047 "Offset of field: ",
1048 stringify!(st_hash_type),
1049 "::",
1050 stringify!(hash)
1051 )
1052 );
1053}
1054#[repr(C)]
1055#[derive(Debug, Copy, Clone)]
1056pub struct st_table {
1057 pub type_: *const st_hash_type,
1058 pub num_bins: st_index_t,
1059 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u64>,
1060 pub bins: *mut *mut st_table_entry,
1061 pub head: *mut st_table_entry,
1062 pub tail: *mut st_table_entry,
1063}
1064#[test]
1065fn bindgen_test_layout_st_table() {
1066 assert_eq!(
1067 ::std::mem::size_of::<st_table>(),
1068 48usize,
1069 concat!("Size of: ", stringify!(st_table))
1070 );
1071 assert_eq!(
1072 ::std::mem::align_of::<st_table>(),
1073 8usize,
1074 concat!("Alignment of ", stringify!(st_table))
1075 );
1076 assert_eq!(
1077 unsafe { &(*(::std::ptr::null::<st_table>())).type_ as *const _ as usize },
1078 0usize,
1079 concat!(
1080 "Offset of field: ",
1081 stringify!(st_table),
1082 "::",
1083 stringify!(type_)
1084 )
1085 );
1086 assert_eq!(
1087 unsafe { &(*(::std::ptr::null::<st_table>())).num_bins as *const _ as usize },
1088 8usize,
1089 concat!(
1090 "Offset of field: ",
1091 stringify!(st_table),
1092 "::",
1093 stringify!(num_bins)
1094 )
1095 );
1096 assert_eq!(
1097 unsafe { &(*(::std::ptr::null::<st_table>())).bins as *const _ as usize },
1098 24usize,
1099 concat!(
1100 "Offset of field: ",
1101 stringify!(st_table),
1102 "::",
1103 stringify!(bins)
1104 )
1105 );
1106 assert_eq!(
1107 unsafe { &(*(::std::ptr::null::<st_table>())).head as *const _ as usize },
1108 32usize,
1109 concat!(
1110 "Offset of field: ",
1111 stringify!(st_table),
1112 "::",
1113 stringify!(head)
1114 )
1115 );
1116 assert_eq!(
1117 unsafe { &(*(::std::ptr::null::<st_table>())).tail as *const _ as usize },
1118 40usize,
1119 concat!(
1120 "Offset of field: ",
1121 stringify!(st_table),
1122 "::",
1123 stringify!(tail)
1124 )
1125 );
1126}
1127impl st_table {
1128 #[inline]
1129 pub fn entries_packed(&self) -> ::std::os::raw::c_uint {
1130 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1131 }
1132 #[inline]
1133 pub fn set_entries_packed(&mut self, val: ::std::os::raw::c_uint) {
1134 unsafe {
1135 let val: u32 = ::std::mem::transmute(val);
1136 self._bitfield_1.set(0usize, 1u8, val as u64)
1137 }
1138 }
1139 #[inline]
1140 pub fn num_entries(&self) -> st_index_t {
1141 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 63u8) as usize) }
1142 }
1143 #[inline]
1144 pub fn set_num_entries(&mut self, val: st_index_t) {
1145 unsafe {
1146 let val: usize = ::std::mem::transmute(val);
1147 self._bitfield_1.set(1usize, 63u8, val as u64)
1148 }
1149 }
1150 #[inline]
1151 pub fn new_bitfield_1(
1152 entries_packed: ::std::os::raw::c_uint,
1153 num_entries: st_index_t,
1154 ) -> __BindgenBitfieldUnit<[u8; 8usize], u64> {
1155 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u64> =
1156 Default::default();
1157 __bindgen_bitfield_unit.set(0usize, 1u8, {
1158 let entries_packed: u32 = unsafe { ::std::mem::transmute(entries_packed) };
1159 entries_packed as u64
1160 });
1161 __bindgen_bitfield_unit.set(1usize, 63u8, {
1162 let num_entries: usize = unsafe { ::std::mem::transmute(num_entries) };
1163 num_entries as u64
1164 });
1165 __bindgen_bitfield_unit
1166 }
1167}
1168pub type rb_unblock_function_t =
1169 ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
1170pub type rb_event_flag_t = ::std::os::raw::c_uint;
1171pub type rb_event_hook_func_t = ::std::option::Option<
1172 unsafe extern "C" fn(arg1: rb_event_flag_t, data: VALUE, arg2: VALUE, arg3: ID, klass: VALUE),
1173>;
1174#[repr(C)]
1175#[derive(Debug, Copy, Clone)]
1176pub struct rb_event_hook_struct {
1177 pub flag: rb_event_flag_t,
1178 pub func: rb_event_hook_func_t,
1179 pub data: VALUE,
1180 pub next: *mut rb_event_hook_struct,
1181}
1182#[test]
1183fn bindgen_test_layout_rb_event_hook_struct() {
1184 assert_eq!(
1185 ::std::mem::size_of::<rb_event_hook_struct>(),
1186 32usize,
1187 concat!("Size of: ", stringify!(rb_event_hook_struct))
1188 );
1189 assert_eq!(
1190 ::std::mem::align_of::<rb_event_hook_struct>(),
1191 8usize,
1192 concat!("Alignment of ", stringify!(rb_event_hook_struct))
1193 );
1194 assert_eq!(
1195 unsafe { &(*(::std::ptr::null::<rb_event_hook_struct>())).flag as *const _ as usize },
1196 0usize,
1197 concat!(
1198 "Offset of field: ",
1199 stringify!(rb_event_hook_struct),
1200 "::",
1201 stringify!(flag)
1202 )
1203 );
1204 assert_eq!(
1205 unsafe { &(*(::std::ptr::null::<rb_event_hook_struct>())).func as *const _ as usize },
1206 8usize,
1207 concat!(
1208 "Offset of field: ",
1209 stringify!(rb_event_hook_struct),
1210 "::",
1211 stringify!(func)
1212 )
1213 );
1214 assert_eq!(
1215 unsafe { &(*(::std::ptr::null::<rb_event_hook_struct>())).data as *const _ as usize },
1216 16usize,
1217 concat!(
1218 "Offset of field: ",
1219 stringify!(rb_event_hook_struct),
1220 "::",
1221 stringify!(data)
1222 )
1223 );
1224 assert_eq!(
1225 unsafe { &(*(::std::ptr::null::<rb_event_hook_struct>())).next as *const _ as usize },
1226 24usize,
1227 concat!(
1228 "Offset of field: ",
1229 stringify!(rb_event_hook_struct),
1230 "::",
1231 stringify!(next)
1232 )
1233 );
1234}
1235pub type rb_event_hook_t = rb_event_hook_struct;
1236#[repr(C)]
1237#[derive(Copy, Clone)]
1238pub struct RNode {
1239 pub flags: VALUE,
1240 pub nd_reserved: VALUE,
1241 pub u1: RNode__bindgen_ty_1,
1242 pub u2: RNode__bindgen_ty_2,
1243 pub u3: RNode__bindgen_ty_3,
1244}
1245#[repr(C)]
1246#[derive(Copy, Clone)]
1247pub union RNode__bindgen_ty_1 {
1248 pub node: *mut RNode,
1249 pub id: ID,
1250 pub value: VALUE,
1251 pub cfunc: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
1252 pub tbl: *mut ID,
1253 _bindgen_union_align: u64,
1254}
1255#[test]
1256fn bindgen_test_layout_RNode__bindgen_ty_1() {
1257 assert_eq!(
1258 ::std::mem::size_of::<RNode__bindgen_ty_1>(),
1259 8usize,
1260 concat!("Size of: ", stringify!(RNode__bindgen_ty_1))
1261 );
1262 assert_eq!(
1263 ::std::mem::align_of::<RNode__bindgen_ty_1>(),
1264 8usize,
1265 concat!("Alignment of ", stringify!(RNode__bindgen_ty_1))
1266 );
1267 assert_eq!(
1268 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).node as *const _ as usize },
1269 0usize,
1270 concat!(
1271 "Offset of field: ",
1272 stringify!(RNode__bindgen_ty_1),
1273 "::",
1274 stringify!(node)
1275 )
1276 );
1277 assert_eq!(
1278 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).id as *const _ as usize },
1279 0usize,
1280 concat!(
1281 "Offset of field: ",
1282 stringify!(RNode__bindgen_ty_1),
1283 "::",
1284 stringify!(id)
1285 )
1286 );
1287 assert_eq!(
1288 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).value as *const _ as usize },
1289 0usize,
1290 concat!(
1291 "Offset of field: ",
1292 stringify!(RNode__bindgen_ty_1),
1293 "::",
1294 stringify!(value)
1295 )
1296 );
1297 assert_eq!(
1298 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).cfunc as *const _ as usize },
1299 0usize,
1300 concat!(
1301 "Offset of field: ",
1302 stringify!(RNode__bindgen_ty_1),
1303 "::",
1304 stringify!(cfunc)
1305 )
1306 );
1307 assert_eq!(
1308 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).tbl as *const _ as usize },
1309 0usize,
1310 concat!(
1311 "Offset of field: ",
1312 stringify!(RNode__bindgen_ty_1),
1313 "::",
1314 stringify!(tbl)
1315 )
1316 );
1317}
1318impl ::std::fmt::Debug for RNode__bindgen_ty_1 {
1319 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1320 write!(f, "RNode__bindgen_ty_1 {{ union }}")
1321 }
1322}
1323#[repr(C)]
1324#[derive(Copy, Clone)]
1325pub union RNode__bindgen_ty_2 {
1326 pub node: *mut RNode,
1327 pub id: ID,
1328 pub argc: ::std::os::raw::c_long,
1329 pub value: VALUE,
1330 _bindgen_union_align: u64,
1331}
1332#[test]
1333fn bindgen_test_layout_RNode__bindgen_ty_2() {
1334 assert_eq!(
1335 ::std::mem::size_of::<RNode__bindgen_ty_2>(),
1336 8usize,
1337 concat!("Size of: ", stringify!(RNode__bindgen_ty_2))
1338 );
1339 assert_eq!(
1340 ::std::mem::align_of::<RNode__bindgen_ty_2>(),
1341 8usize,
1342 concat!("Alignment of ", stringify!(RNode__bindgen_ty_2))
1343 );
1344 assert_eq!(
1345 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).node as *const _ as usize },
1346 0usize,
1347 concat!(
1348 "Offset of field: ",
1349 stringify!(RNode__bindgen_ty_2),
1350 "::",
1351 stringify!(node)
1352 )
1353 );
1354 assert_eq!(
1355 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).id as *const _ as usize },
1356 0usize,
1357 concat!(
1358 "Offset of field: ",
1359 stringify!(RNode__bindgen_ty_2),
1360 "::",
1361 stringify!(id)
1362 )
1363 );
1364 assert_eq!(
1365 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).argc as *const _ as usize },
1366 0usize,
1367 concat!(
1368 "Offset of field: ",
1369 stringify!(RNode__bindgen_ty_2),
1370 "::",
1371 stringify!(argc)
1372 )
1373 );
1374 assert_eq!(
1375 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).value as *const _ as usize },
1376 0usize,
1377 concat!(
1378 "Offset of field: ",
1379 stringify!(RNode__bindgen_ty_2),
1380 "::",
1381 stringify!(value)
1382 )
1383 );
1384}
1385impl ::std::fmt::Debug for RNode__bindgen_ty_2 {
1386 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1387 write!(f, "RNode__bindgen_ty_2 {{ union }}")
1388 }
1389}
1390#[repr(C)]
1391#[derive(Copy, Clone)]
1392pub union RNode__bindgen_ty_3 {
1393 pub node: *mut RNode,
1394 pub id: ID,
1395 pub state: ::std::os::raw::c_long,
1396 pub entry: *mut rb_global_entry,
1397 pub cnt: ::std::os::raw::c_long,
1398 pub value: VALUE,
1399 _bindgen_union_align: u64,
1400}
1401#[test]
1402fn bindgen_test_layout_RNode__bindgen_ty_3() {
1403 assert_eq!(
1404 ::std::mem::size_of::<RNode__bindgen_ty_3>(),
1405 8usize,
1406 concat!("Size of: ", stringify!(RNode__bindgen_ty_3))
1407 );
1408 assert_eq!(
1409 ::std::mem::align_of::<RNode__bindgen_ty_3>(),
1410 8usize,
1411 concat!("Alignment of ", stringify!(RNode__bindgen_ty_3))
1412 );
1413 assert_eq!(
1414 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).node as *const _ as usize },
1415 0usize,
1416 concat!(
1417 "Offset of field: ",
1418 stringify!(RNode__bindgen_ty_3),
1419 "::",
1420 stringify!(node)
1421 )
1422 );
1423 assert_eq!(
1424 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).id as *const _ as usize },
1425 0usize,
1426 concat!(
1427 "Offset of field: ",
1428 stringify!(RNode__bindgen_ty_3),
1429 "::",
1430 stringify!(id)
1431 )
1432 );
1433 assert_eq!(
1434 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).state as *const _ as usize },
1435 0usize,
1436 concat!(
1437 "Offset of field: ",
1438 stringify!(RNode__bindgen_ty_3),
1439 "::",
1440 stringify!(state)
1441 )
1442 );
1443 assert_eq!(
1444 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).entry as *const _ as usize },
1445 0usize,
1446 concat!(
1447 "Offset of field: ",
1448 stringify!(RNode__bindgen_ty_3),
1449 "::",
1450 stringify!(entry)
1451 )
1452 );
1453 assert_eq!(
1454 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).cnt as *const _ as usize },
1455 0usize,
1456 concat!(
1457 "Offset of field: ",
1458 stringify!(RNode__bindgen_ty_3),
1459 "::",
1460 stringify!(cnt)
1461 )
1462 );
1463 assert_eq!(
1464 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).value as *const _ as usize },
1465 0usize,
1466 concat!(
1467 "Offset of field: ",
1468 stringify!(RNode__bindgen_ty_3),
1469 "::",
1470 stringify!(value)
1471 )
1472 );
1473}
1474impl ::std::fmt::Debug for RNode__bindgen_ty_3 {
1475 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1476 write!(f, "RNode__bindgen_ty_3 {{ union }}")
1477 }
1478}
1479#[test]
1480fn bindgen_test_layout_RNode() {
1481 assert_eq!(
1482 ::std::mem::size_of::<RNode>(),
1483 40usize,
1484 concat!("Size of: ", stringify!(RNode))
1485 );
1486 assert_eq!(
1487 ::std::mem::align_of::<RNode>(),
1488 8usize,
1489 concat!("Alignment of ", stringify!(RNode))
1490 );
1491 assert_eq!(
1492 unsafe { &(*(::std::ptr::null::<RNode>())).flags as *const _ as usize },
1493 0usize,
1494 concat!(
1495 "Offset of field: ",
1496 stringify!(RNode),
1497 "::",
1498 stringify!(flags)
1499 )
1500 );
1501 assert_eq!(
1502 unsafe { &(*(::std::ptr::null::<RNode>())).nd_reserved as *const _ as usize },
1503 8usize,
1504 concat!(
1505 "Offset of field: ",
1506 stringify!(RNode),
1507 "::",
1508 stringify!(nd_reserved)
1509 )
1510 );
1511 assert_eq!(
1512 unsafe { &(*(::std::ptr::null::<RNode>())).u1 as *const _ as usize },
1513 16usize,
1514 concat!("Offset of field: ", stringify!(RNode), "::", stringify!(u1))
1515 );
1516 assert_eq!(
1517 unsafe { &(*(::std::ptr::null::<RNode>())).u2 as *const _ as usize },
1518 24usize,
1519 concat!("Offset of field: ", stringify!(RNode), "::", stringify!(u2))
1520 );
1521 assert_eq!(
1522 unsafe { &(*(::std::ptr::null::<RNode>())).u3 as *const _ as usize },
1523 32usize,
1524 concat!("Offset of field: ", stringify!(RNode), "::", stringify!(u3))
1525 );
1526}
1527impl ::std::fmt::Debug for RNode {
1528 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1529 write!(
1530 f,
1531 "RNode {{ flags: {:?}, nd_reserved: {:?}, u1: {:?}, u2: {:?}, u3: {:?} }}",
1532 self.flags, self.nd_reserved, self.u1, self.u2, self.u3
1533 )
1534 }
1535}
1536pub type NODE = RNode;
1537#[repr(C)]
1538#[derive(Debug, Copy, Clone)]
1539pub struct rb_global_entry {
1540 pub var: *mut rb_global_variable,
1541 pub id: ID,
1542}
1543#[test]
1544fn bindgen_test_layout_rb_global_entry() {
1545 assert_eq!(
1546 ::std::mem::size_of::<rb_global_entry>(),
1547 16usize,
1548 concat!("Size of: ", stringify!(rb_global_entry))
1549 );
1550 assert_eq!(
1551 ::std::mem::align_of::<rb_global_entry>(),
1552 8usize,
1553 concat!("Alignment of ", stringify!(rb_global_entry))
1554 );
1555 assert_eq!(
1556 unsafe { &(*(::std::ptr::null::<rb_global_entry>())).var as *const _ as usize },
1557 0usize,
1558 concat!(
1559 "Offset of field: ",
1560 stringify!(rb_global_entry),
1561 "::",
1562 stringify!(var)
1563 )
1564 );
1565 assert_eq!(
1566 unsafe { &(*(::std::ptr::null::<rb_global_entry>())).id as *const _ as usize },
1567 8usize,
1568 concat!(
1569 "Offset of field: ",
1570 stringify!(rb_global_entry),
1571 "::",
1572 stringify!(id)
1573 )
1574 );
1575}
1576pub const rb_method_flag_t_NOEX_PUBLIC: rb_method_flag_t = 0;
1577pub const rb_method_flag_t_NOEX_NOSUPER: rb_method_flag_t = 1;
1578pub const rb_method_flag_t_NOEX_PRIVATE: rb_method_flag_t = 2;
1579pub const rb_method_flag_t_NOEX_PROTECTED: rb_method_flag_t = 4;
1580pub const rb_method_flag_t_NOEX_MASK: rb_method_flag_t = 6;
1581pub const rb_method_flag_t_NOEX_BASIC: rb_method_flag_t = 8;
1582pub const rb_method_flag_t_NOEX_UNDEF: rb_method_flag_t = 1;
1583pub const rb_method_flag_t_NOEX_MODFUNC: rb_method_flag_t = 18;
1584pub const rb_method_flag_t_NOEX_SUPER: rb_method_flag_t = 32;
1585pub const rb_method_flag_t_NOEX_VCALL: rb_method_flag_t = 64;
1586pub const rb_method_flag_t_NOEX_RESPONDS: rb_method_flag_t = 128;
1587pub type rb_method_flag_t = ::std::os::raw::c_uint;
1588pub const rb_method_type_t_VM_METHOD_TYPE_ISEQ: rb_method_type_t = 0;
1589pub const rb_method_type_t_VM_METHOD_TYPE_CFUNC: rb_method_type_t = 1;
1590pub const rb_method_type_t_VM_METHOD_TYPE_ATTRSET: rb_method_type_t = 2;
1591pub const rb_method_type_t_VM_METHOD_TYPE_IVAR: rb_method_type_t = 3;
1592pub const rb_method_type_t_VM_METHOD_TYPE_BMETHOD: rb_method_type_t = 4;
1593pub const rb_method_type_t_VM_METHOD_TYPE_ZSUPER: rb_method_type_t = 5;
1594pub const rb_method_type_t_VM_METHOD_TYPE_UNDEF: rb_method_type_t = 6;
1595pub const rb_method_type_t_VM_METHOD_TYPE_NOTIMPLEMENTED: rb_method_type_t = 7;
1596pub const rb_method_type_t_VM_METHOD_TYPE_OPTIMIZED: rb_method_type_t = 8;
1597pub const rb_method_type_t_VM_METHOD_TYPE_MISSING: rb_method_type_t = 9;
1598pub type rb_method_type_t = ::std::os::raw::c_uint;
1599#[repr(C)]
1600#[derive(Debug, Copy, Clone)]
1601pub struct rb_method_cfunc_struct {
1602 pub func: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
1603 pub argc: ::std::os::raw::c_int,
1604}
1605#[test]
1606fn bindgen_test_layout_rb_method_cfunc_struct() {
1607 assert_eq!(
1608 ::std::mem::size_of::<rb_method_cfunc_struct>(),
1609 16usize,
1610 concat!("Size of: ", stringify!(rb_method_cfunc_struct))
1611 );
1612 assert_eq!(
1613 ::std::mem::align_of::<rb_method_cfunc_struct>(),
1614 8usize,
1615 concat!("Alignment of ", stringify!(rb_method_cfunc_struct))
1616 );
1617 assert_eq!(
1618 unsafe { &(*(::std::ptr::null::<rb_method_cfunc_struct>())).func as *const _ as usize },
1619 0usize,
1620 concat!(
1621 "Offset of field: ",
1622 stringify!(rb_method_cfunc_struct),
1623 "::",
1624 stringify!(func)
1625 )
1626 );
1627 assert_eq!(
1628 unsafe { &(*(::std::ptr::null::<rb_method_cfunc_struct>())).argc as *const _ as usize },
1629 8usize,
1630 concat!(
1631 "Offset of field: ",
1632 stringify!(rb_method_cfunc_struct),
1633 "::",
1634 stringify!(argc)
1635 )
1636 );
1637}
1638pub type rb_method_cfunc_t = rb_method_cfunc_struct;
1639#[repr(C)]
1640#[derive(Debug, Copy, Clone)]
1641pub struct rb_method_attr_struct {
1642 pub id: ID,
1643 pub location: VALUE,
1644}
1645#[test]
1646fn bindgen_test_layout_rb_method_attr_struct() {
1647 assert_eq!(
1648 ::std::mem::size_of::<rb_method_attr_struct>(),
1649 16usize,
1650 concat!("Size of: ", stringify!(rb_method_attr_struct))
1651 );
1652 assert_eq!(
1653 ::std::mem::align_of::<rb_method_attr_struct>(),
1654 8usize,
1655 concat!("Alignment of ", stringify!(rb_method_attr_struct))
1656 );
1657 assert_eq!(
1658 unsafe { &(*(::std::ptr::null::<rb_method_attr_struct>())).id as *const _ as usize },
1659 0usize,
1660 concat!(
1661 "Offset of field: ",
1662 stringify!(rb_method_attr_struct),
1663 "::",
1664 stringify!(id)
1665 )
1666 );
1667 assert_eq!(
1668 unsafe { &(*(::std::ptr::null::<rb_method_attr_struct>())).location as *const _ as usize },
1669 8usize,
1670 concat!(
1671 "Offset of field: ",
1672 stringify!(rb_method_attr_struct),
1673 "::",
1674 stringify!(location)
1675 )
1676 );
1677}
1678pub type rb_method_attr_t = rb_method_attr_struct;
1679pub type rb_iseq_t = rb_iseq_struct;
1680#[repr(C)]
1681#[derive(Copy, Clone)]
1682pub struct rb_method_definition_struct {
1683 pub type_: rb_method_type_t,
1684 pub original_id: ID,
1685 pub body: rb_method_definition_struct__bindgen_ty_1,
1686 pub alias_count: ::std::os::raw::c_int,
1687}
1688#[repr(C)]
1689#[derive(Copy, Clone)]
1690pub union rb_method_definition_struct__bindgen_ty_1 {
1691 pub iseq: *mut rb_iseq_t,
1692 pub cfunc: rb_method_cfunc_t,
1693 pub attr: rb_method_attr_t,
1694 pub proc_: VALUE,
1695 pub optimize_type: rb_method_definition_struct__bindgen_ty_1_method_optimized_type,
1696 _bindgen_union_align: [u64; 2usize],
1697}
1698pub const rb_method_definition_struct__bindgen_ty_1_method_optimized_type_OPTIMIZED_METHOD_TYPE_SEND : rb_method_definition_struct__bindgen_ty_1_method_optimized_type = 0 ;
1699pub const rb_method_definition_struct__bindgen_ty_1_method_optimized_type_OPTIMIZED_METHOD_TYPE_CALL : rb_method_definition_struct__bindgen_ty_1_method_optimized_type = 1 ;
1700pub type rb_method_definition_struct__bindgen_ty_1_method_optimized_type = ::std::os::raw::c_uint;
1701#[test]
1702fn bindgen_test_layout_rb_method_definition_struct__bindgen_ty_1() {
1703 assert_eq!(
1704 ::std::mem::size_of::<rb_method_definition_struct__bindgen_ty_1>(),
1705 16usize,
1706 concat!(
1707 "Size of: ",
1708 stringify!(rb_method_definition_struct__bindgen_ty_1)
1709 )
1710 );
1711 assert_eq!(
1712 ::std::mem::align_of::<rb_method_definition_struct__bindgen_ty_1>(),
1713 8usize,
1714 concat!(
1715 "Alignment of ",
1716 stringify!(rb_method_definition_struct__bindgen_ty_1)
1717 )
1718 );
1719 assert_eq!(
1720 unsafe {
1721 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).iseq as *const _
1722 as usize
1723 },
1724 0usize,
1725 concat!(
1726 "Offset of field: ",
1727 stringify!(rb_method_definition_struct__bindgen_ty_1),
1728 "::",
1729 stringify!(iseq)
1730 )
1731 );
1732 assert_eq!(
1733 unsafe {
1734 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).cfunc as *const _
1735 as usize
1736 },
1737 0usize,
1738 concat!(
1739 "Offset of field: ",
1740 stringify!(rb_method_definition_struct__bindgen_ty_1),
1741 "::",
1742 stringify!(cfunc)
1743 )
1744 );
1745 assert_eq!(
1746 unsafe {
1747 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).attr as *const _
1748 as usize
1749 },
1750 0usize,
1751 concat!(
1752 "Offset of field: ",
1753 stringify!(rb_method_definition_struct__bindgen_ty_1),
1754 "::",
1755 stringify!(attr)
1756 )
1757 );
1758 assert_eq!(
1759 unsafe {
1760 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).proc_ as *const _
1761 as usize
1762 },
1763 0usize,
1764 concat!(
1765 "Offset of field: ",
1766 stringify!(rb_method_definition_struct__bindgen_ty_1),
1767 "::",
1768 stringify!(proc_)
1769 )
1770 );
1771 assert_eq!(
1772 unsafe {
1773 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).optimize_type
1774 as *const _ as usize
1775 },
1776 0usize,
1777 concat!(
1778 "Offset of field: ",
1779 stringify!(rb_method_definition_struct__bindgen_ty_1),
1780 "::",
1781 stringify!(optimize_type)
1782 )
1783 );
1784}
1785impl ::std::fmt::Debug for rb_method_definition_struct__bindgen_ty_1 {
1786 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1787 write!(f, "rb_method_definition_struct__bindgen_ty_1 {{ union }}")
1788 }
1789}
1790#[test]
1791fn bindgen_test_layout_rb_method_definition_struct() {
1792 assert_eq!(
1793 ::std::mem::size_of::<rb_method_definition_struct>(),
1794 40usize,
1795 concat!("Size of: ", stringify!(rb_method_definition_struct))
1796 );
1797 assert_eq!(
1798 ::std::mem::align_of::<rb_method_definition_struct>(),
1799 8usize,
1800 concat!("Alignment of ", stringify!(rb_method_definition_struct))
1801 );
1802 assert_eq!(
1803 unsafe {
1804 &(*(::std::ptr::null::<rb_method_definition_struct>())).type_ as *const _ as usize
1805 },
1806 0usize,
1807 concat!(
1808 "Offset of field: ",
1809 stringify!(rb_method_definition_struct),
1810 "::",
1811 stringify!(type_)
1812 )
1813 );
1814 assert_eq!(
1815 unsafe {
1816 &(*(::std::ptr::null::<rb_method_definition_struct>())).original_id as *const _ as usize
1817 },
1818 8usize,
1819 concat!(
1820 "Offset of field: ",
1821 stringify!(rb_method_definition_struct),
1822 "::",
1823 stringify!(original_id)
1824 )
1825 );
1826 assert_eq!(
1827 unsafe {
1828 &(*(::std::ptr::null::<rb_method_definition_struct>())).body as *const _ as usize
1829 },
1830 16usize,
1831 concat!(
1832 "Offset of field: ",
1833 stringify!(rb_method_definition_struct),
1834 "::",
1835 stringify!(body)
1836 )
1837 );
1838 assert_eq!(
1839 unsafe {
1840 &(*(::std::ptr::null::<rb_method_definition_struct>())).alias_count as *const _ as usize
1841 },
1842 32usize,
1843 concat!(
1844 "Offset of field: ",
1845 stringify!(rb_method_definition_struct),
1846 "::",
1847 stringify!(alias_count)
1848 )
1849 );
1850}
1851impl ::std::fmt::Debug for rb_method_definition_struct {
1852 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1853 write ! ( f , "rb_method_definition_struct {{ type: {:?}, original_id: {:?}, body: {:?}, alias_count: {:?} }}" , self . type_ , self . original_id , self . body , self . alias_count )
1854 }
1855}
1856pub type rb_method_definition_t = rb_method_definition_struct;
1857#[repr(C)]
1858#[derive(Debug, Copy, Clone)]
1859pub struct rb_method_entry_struct {
1860 pub flag: rb_method_flag_t,
1861 pub mark: ::std::os::raw::c_char,
1862 pub def: *mut rb_method_definition_t,
1863 pub called_id: ID,
1864 pub klass: VALUE,
1865}
1866#[test]
1867fn bindgen_test_layout_rb_method_entry_struct() {
1868 assert_eq!(
1869 ::std::mem::size_of::<rb_method_entry_struct>(),
1870 32usize,
1871 concat!("Size of: ", stringify!(rb_method_entry_struct))
1872 );
1873 assert_eq!(
1874 ::std::mem::align_of::<rb_method_entry_struct>(),
1875 8usize,
1876 concat!("Alignment of ", stringify!(rb_method_entry_struct))
1877 );
1878 assert_eq!(
1879 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).flag as *const _ as usize },
1880 0usize,
1881 concat!(
1882 "Offset of field: ",
1883 stringify!(rb_method_entry_struct),
1884 "::",
1885 stringify!(flag)
1886 )
1887 );
1888 assert_eq!(
1889 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).mark as *const _ as usize },
1890 4usize,
1891 concat!(
1892 "Offset of field: ",
1893 stringify!(rb_method_entry_struct),
1894 "::",
1895 stringify!(mark)
1896 )
1897 );
1898 assert_eq!(
1899 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).def as *const _ as usize },
1900 8usize,
1901 concat!(
1902 "Offset of field: ",
1903 stringify!(rb_method_entry_struct),
1904 "::",
1905 stringify!(def)
1906 )
1907 );
1908 assert_eq!(
1909 unsafe {
1910 &(*(::std::ptr::null::<rb_method_entry_struct>())).called_id as *const _ as usize
1911 },
1912 16usize,
1913 concat!(
1914 "Offset of field: ",
1915 stringify!(rb_method_entry_struct),
1916 "::",
1917 stringify!(called_id)
1918 )
1919 );
1920 assert_eq!(
1921 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).klass as *const _ as usize },
1922 24usize,
1923 concat!(
1924 "Offset of field: ",
1925 stringify!(rb_method_entry_struct),
1926 "::",
1927 stringify!(klass)
1928 )
1929 );
1930}
1931pub type rb_method_entry_t = rb_method_entry_struct;
1932#[repr(C)]
1933#[derive(Debug, Copy, Clone)]
1934pub struct unlinked_method_entry_list_entry {
1935 pub next: *mut unlinked_method_entry_list_entry,
1936 pub me: *mut rb_method_entry_t,
1937}
1938#[test]
1939fn bindgen_test_layout_unlinked_method_entry_list_entry() {
1940 assert_eq!(
1941 ::std::mem::size_of::<unlinked_method_entry_list_entry>(),
1942 16usize,
1943 concat!("Size of: ", stringify!(unlinked_method_entry_list_entry))
1944 );
1945 assert_eq!(
1946 ::std::mem::align_of::<unlinked_method_entry_list_entry>(),
1947 8usize,
1948 concat!(
1949 "Alignment of ",
1950 stringify!(unlinked_method_entry_list_entry)
1951 )
1952 );
1953 assert_eq!(
1954 unsafe {
1955 &(*(::std::ptr::null::<unlinked_method_entry_list_entry>())).next as *const _ as usize
1956 },
1957 0usize,
1958 concat!(
1959 "Offset of field: ",
1960 stringify!(unlinked_method_entry_list_entry),
1961 "::",
1962 stringify!(next)
1963 )
1964 );
1965 assert_eq!(
1966 unsafe {
1967 &(*(::std::ptr::null::<unlinked_method_entry_list_entry>())).me as *const _ as usize
1968 },
1969 8usize,
1970 concat!(
1971 "Offset of field: ",
1972 stringify!(unlinked_method_entry_list_entry),
1973 "::",
1974 stringify!(me)
1975 )
1976 );
1977}
1978pub type rb_atomic_t = ::std::os::raw::c_uint;
1979pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
1980pub type rb_thread_id_t = pthread_t;
1981pub type rb_thread_lock_t = pthread_mutex_t;
1982#[repr(C)]
1983#[derive(Copy, Clone)]
1984pub struct rb_thread_cond_struct {
1985 pub cond: pthread_cond_t,
1986 pub clockid: clockid_t,
1987}
1988#[test]
1989fn bindgen_test_layout_rb_thread_cond_struct() {
1990 assert_eq!(
1991 ::std::mem::size_of::<rb_thread_cond_struct>(),
1992 56usize,
1993 concat!("Size of: ", stringify!(rb_thread_cond_struct))
1994 );
1995 assert_eq!(
1996 ::std::mem::align_of::<rb_thread_cond_struct>(),
1997 8usize,
1998 concat!("Alignment of ", stringify!(rb_thread_cond_struct))
1999 );
2000 assert_eq!(
2001 unsafe { &(*(::std::ptr::null::<rb_thread_cond_struct>())).cond as *const _ as usize },
2002 0usize,
2003 concat!(
2004 "Offset of field: ",
2005 stringify!(rb_thread_cond_struct),
2006 "::",
2007 stringify!(cond)
2008 )
2009 );
2010 assert_eq!(
2011 unsafe { &(*(::std::ptr::null::<rb_thread_cond_struct>())).clockid as *const _ as usize },
2012 48usize,
2013 concat!(
2014 "Offset of field: ",
2015 stringify!(rb_thread_cond_struct),
2016 "::",
2017 stringify!(clockid)
2018 )
2019 );
2020}
2021impl ::std::fmt::Debug for rb_thread_cond_struct {
2022 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2023 write!(
2024 f,
2025 "rb_thread_cond_struct {{ cond: {:?}, clockid: {:?} }}",
2026 self.cond, self.clockid
2027 )
2028 }
2029}
2030pub type rb_thread_cond_t = rb_thread_cond_struct;
2031#[repr(C)]
2032#[derive(Copy, Clone)]
2033pub struct native_thread_data_struct {
2034 pub signal_thread_list: *mut ::std::os::raw::c_void,
2035 pub sleep_cond: rb_thread_cond_t,
2036}
2037#[test]
2038fn bindgen_test_layout_native_thread_data_struct() {
2039 assert_eq!(
2040 ::std::mem::size_of::<native_thread_data_struct>(),
2041 64usize,
2042 concat!("Size of: ", stringify!(native_thread_data_struct))
2043 );
2044 assert_eq!(
2045 ::std::mem::align_of::<native_thread_data_struct>(),
2046 8usize,
2047 concat!("Alignment of ", stringify!(native_thread_data_struct))
2048 );
2049 assert_eq!(
2050 unsafe {
2051 &(*(::std::ptr::null::<native_thread_data_struct>())).signal_thread_list as *const _
2052 as usize
2053 },
2054 0usize,
2055 concat!(
2056 "Offset of field: ",
2057 stringify!(native_thread_data_struct),
2058 "::",
2059 stringify!(signal_thread_list)
2060 )
2061 );
2062 assert_eq!(
2063 unsafe {
2064 &(*(::std::ptr::null::<native_thread_data_struct>())).sleep_cond as *const _ as usize
2065 },
2066 8usize,
2067 concat!(
2068 "Offset of field: ",
2069 stringify!(native_thread_data_struct),
2070 "::",
2071 stringify!(sleep_cond)
2072 )
2073 );
2074}
2075impl ::std::fmt::Debug for native_thread_data_struct {
2076 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2077 write!(
2078 f,
2079 "native_thread_data_struct {{ signal_thread_list: {:?}, sleep_cond: {:?} }}",
2080 self.signal_thread_list, self.sleep_cond
2081 )
2082 }
2083}
2084pub type native_thread_data_t = native_thread_data_struct;
2085#[repr(C)]
2086#[derive(Copy, Clone)]
2087pub struct rb_global_vm_lock_struct {
2088 pub acquired: ::std::os::raw::c_ulong,
2089 pub lock: pthread_mutex_t,
2090 pub waiting: ::std::os::raw::c_ulong,
2091 pub cond: rb_thread_cond_t,
2092 pub switch_cond: rb_thread_cond_t,
2093 pub switch_wait_cond: rb_thread_cond_t,
2094 pub need_yield: ::std::os::raw::c_int,
2095 pub wait_yield: ::std::os::raw::c_int,
2096}
2097#[test]
2098fn bindgen_test_layout_rb_global_vm_lock_struct() {
2099 assert_eq!(
2100 ::std::mem::size_of::<rb_global_vm_lock_struct>(),
2101 232usize,
2102 concat!("Size of: ", stringify!(rb_global_vm_lock_struct))
2103 );
2104 assert_eq!(
2105 ::std::mem::align_of::<rb_global_vm_lock_struct>(),
2106 8usize,
2107 concat!("Alignment of ", stringify!(rb_global_vm_lock_struct))
2108 );
2109 assert_eq!(
2110 unsafe {
2111 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).acquired as *const _ as usize
2112 },
2113 0usize,
2114 concat!(
2115 "Offset of field: ",
2116 stringify!(rb_global_vm_lock_struct),
2117 "::",
2118 stringify!(acquired)
2119 )
2120 );
2121 assert_eq!(
2122 unsafe { &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).lock as *const _ as usize },
2123 8usize,
2124 concat!(
2125 "Offset of field: ",
2126 stringify!(rb_global_vm_lock_struct),
2127 "::",
2128 stringify!(lock)
2129 )
2130 );
2131 assert_eq!(
2132 unsafe {
2133 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).waiting as *const _ as usize
2134 },
2135 48usize,
2136 concat!(
2137 "Offset of field: ",
2138 stringify!(rb_global_vm_lock_struct),
2139 "::",
2140 stringify!(waiting)
2141 )
2142 );
2143 assert_eq!(
2144 unsafe { &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).cond as *const _ as usize },
2145 56usize,
2146 concat!(
2147 "Offset of field: ",
2148 stringify!(rb_global_vm_lock_struct),
2149 "::",
2150 stringify!(cond)
2151 )
2152 );
2153 assert_eq!(
2154 unsafe {
2155 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).switch_cond as *const _ as usize
2156 },
2157 112usize,
2158 concat!(
2159 "Offset of field: ",
2160 stringify!(rb_global_vm_lock_struct),
2161 "::",
2162 stringify!(switch_cond)
2163 )
2164 );
2165 assert_eq!(
2166 unsafe {
2167 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).switch_wait_cond as *const _
2168 as usize
2169 },
2170 168usize,
2171 concat!(
2172 "Offset of field: ",
2173 stringify!(rb_global_vm_lock_struct),
2174 "::",
2175 stringify!(switch_wait_cond)
2176 )
2177 );
2178 assert_eq!(
2179 unsafe {
2180 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).need_yield as *const _ as usize
2181 },
2182 224usize,
2183 concat!(
2184 "Offset of field: ",
2185 stringify!(rb_global_vm_lock_struct),
2186 "::",
2187 stringify!(need_yield)
2188 )
2189 );
2190 assert_eq!(
2191 unsafe {
2192 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).wait_yield as *const _ as usize
2193 },
2194 228usize,
2195 concat!(
2196 "Offset of field: ",
2197 stringify!(rb_global_vm_lock_struct),
2198 "::",
2199 stringify!(wait_yield)
2200 )
2201 );
2202}
2203impl ::std::fmt::Debug for rb_global_vm_lock_struct {
2204 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2205 write ! ( f , "rb_global_vm_lock_struct {{ acquired: {:?}, lock: {:?}, waiting: {:?}, cond: {:?}, switch_cond: {:?}, switch_wait_cond: {:?}, need_yield: {:?}, wait_yield: {:?} }}" , self . acquired , self . lock , self . waiting , self . cond , self . switch_cond , self . switch_wait_cond , self . need_yield , self . wait_yield )
2206 }
2207}
2208pub type rb_global_vm_lock_t = rb_global_vm_lock_struct;
2209#[repr(C)]
2210#[derive(Debug, Copy, Clone)]
2211pub struct __jmp_buf_tag {
2212 pub __jmpbuf: __jmp_buf,
2213 pub __mask_was_saved: ::std::os::raw::c_int,
2214 pub __saved_mask: __sigset_t,
2215}
2216#[test]
2217fn bindgen_test_layout___jmp_buf_tag() {
2218 assert_eq!(
2219 ::std::mem::size_of::<__jmp_buf_tag>(),
2220 200usize,
2221 concat!("Size of: ", stringify!(__jmp_buf_tag))
2222 );
2223 assert_eq!(
2224 ::std::mem::align_of::<__jmp_buf_tag>(),
2225 8usize,
2226 concat!("Alignment of ", stringify!(__jmp_buf_tag))
2227 );
2228 assert_eq!(
2229 unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__jmpbuf as *const _ as usize },
2230 0usize,
2231 concat!(
2232 "Offset of field: ",
2233 stringify!(__jmp_buf_tag),
2234 "::",
2235 stringify!(__jmpbuf)
2236 )
2237 );
2238 assert_eq!(
2239 unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__mask_was_saved as *const _ as usize },
2240 64usize,
2241 concat!(
2242 "Offset of field: ",
2243 stringify!(__jmp_buf_tag),
2244 "::",
2245 stringify!(__mask_was_saved)
2246 )
2247 );
2248 assert_eq!(
2249 unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__saved_mask as *const _ as usize },
2250 72usize,
2251 concat!(
2252 "Offset of field: ",
2253 stringify!(__jmp_buf_tag),
2254 "::",
2255 stringify!(__saved_mask)
2256 )
2257 );
2258}
2259pub type jmp_buf = [__jmp_buf_tag; 1usize];
2260#[repr(C)]
2261#[derive(Debug, Copy, Clone)]
2262pub struct iseq_compile_data_ensure_node_stack {
2263 _unused: [u8; 0],
2264}
2265pub type rb_compile_option_t = rb_compile_option_struct;
2266#[repr(C)]
2267#[derive(Copy, Clone)]
2268pub struct iseq_inline_cache_entry {
2269 pub ic_vmstat: VALUE,
2270 pub ic_class: VALUE,
2271 pub ic_value: iseq_inline_cache_entry__bindgen_ty_1,
2272}
2273#[repr(C)]
2274#[derive(Copy, Clone)]
2275pub union iseq_inline_cache_entry__bindgen_ty_1 {
2276 pub value: VALUE,
2277 pub method: *mut rb_method_entry_t,
2278 pub index: ::std::os::raw::c_long,
2279 _bindgen_union_align: u64,
2280}
2281#[test]
2282fn bindgen_test_layout_iseq_inline_cache_entry__bindgen_ty_1() {
2283 assert_eq!(
2284 ::std::mem::size_of::<iseq_inline_cache_entry__bindgen_ty_1>(),
2285 8usize,
2286 concat!(
2287 "Size of: ",
2288 stringify!(iseq_inline_cache_entry__bindgen_ty_1)
2289 )
2290 );
2291 assert_eq!(
2292 ::std::mem::align_of::<iseq_inline_cache_entry__bindgen_ty_1>(),
2293 8usize,
2294 concat!(
2295 "Alignment of ",
2296 stringify!(iseq_inline_cache_entry__bindgen_ty_1)
2297 )
2298 );
2299 assert_eq!(
2300 unsafe {
2301 &(*(::std::ptr::null::<iseq_inline_cache_entry__bindgen_ty_1>())).value as *const _
2302 as usize
2303 },
2304 0usize,
2305 concat!(
2306 "Offset of field: ",
2307 stringify!(iseq_inline_cache_entry__bindgen_ty_1),
2308 "::",
2309 stringify!(value)
2310 )
2311 );
2312 assert_eq!(
2313 unsafe {
2314 &(*(::std::ptr::null::<iseq_inline_cache_entry__bindgen_ty_1>())).method as *const _
2315 as usize
2316 },
2317 0usize,
2318 concat!(
2319 "Offset of field: ",
2320 stringify!(iseq_inline_cache_entry__bindgen_ty_1),
2321 "::",
2322 stringify!(method)
2323 )
2324 );
2325 assert_eq!(
2326 unsafe {
2327 &(*(::std::ptr::null::<iseq_inline_cache_entry__bindgen_ty_1>())).index as *const _
2328 as usize
2329 },
2330 0usize,
2331 concat!(
2332 "Offset of field: ",
2333 stringify!(iseq_inline_cache_entry__bindgen_ty_1),
2334 "::",
2335 stringify!(index)
2336 )
2337 );
2338}
2339impl ::std::fmt::Debug for iseq_inline_cache_entry__bindgen_ty_1 {
2340 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2341 write!(f, "iseq_inline_cache_entry__bindgen_ty_1 {{ union }}")
2342 }
2343}
2344#[test]
2345fn bindgen_test_layout_iseq_inline_cache_entry() {
2346 assert_eq!(
2347 ::std::mem::size_of::<iseq_inline_cache_entry>(),
2348 24usize,
2349 concat!("Size of: ", stringify!(iseq_inline_cache_entry))
2350 );
2351 assert_eq!(
2352 ::std::mem::align_of::<iseq_inline_cache_entry>(),
2353 8usize,
2354 concat!("Alignment of ", stringify!(iseq_inline_cache_entry))
2355 );
2356 assert_eq!(
2357 unsafe {
2358 &(*(::std::ptr::null::<iseq_inline_cache_entry>())).ic_vmstat as *const _ as usize
2359 },
2360 0usize,
2361 concat!(
2362 "Offset of field: ",
2363 stringify!(iseq_inline_cache_entry),
2364 "::",
2365 stringify!(ic_vmstat)
2366 )
2367 );
2368 assert_eq!(
2369 unsafe {
2370 &(*(::std::ptr::null::<iseq_inline_cache_entry>())).ic_class as *const _ as usize
2371 },
2372 8usize,
2373 concat!(
2374 "Offset of field: ",
2375 stringify!(iseq_inline_cache_entry),
2376 "::",
2377 stringify!(ic_class)
2378 )
2379 );
2380 assert_eq!(
2381 unsafe {
2382 &(*(::std::ptr::null::<iseq_inline_cache_entry>())).ic_value as *const _ as usize
2383 },
2384 16usize,
2385 concat!(
2386 "Offset of field: ",
2387 stringify!(iseq_inline_cache_entry),
2388 "::",
2389 stringify!(ic_value)
2390 )
2391 );
2392}
2393impl ::std::fmt::Debug for iseq_inline_cache_entry {
2394 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2395 write!(
2396 f,
2397 "iseq_inline_cache_entry {{ ic_vmstat: {:?}, ic_class: {:?}, ic_value: {:?} }}",
2398 self.ic_vmstat, self.ic_class, self.ic_value
2399 )
2400 }
2401}
2402#[repr(C)]
2403#[derive(Debug, Copy, Clone)]
2404pub struct rb_iseq_struct {
2405 pub type_: rb_iseq_struct_iseq_type,
2406 pub name: VALUE,
2407 pub filename: VALUE,
2408 pub filepath: VALUE,
2409 pub iseq: *mut VALUE,
2410 pub iseq_encoded: *mut VALUE,
2411 pub iseq_size: ::std::os::raw::c_ulong,
2412 pub mark_ary: VALUE,
2413 pub coverage: VALUE,
2414 pub line_no: ::std::os::raw::c_ushort,
2415 pub insn_info_table: *mut iseq_insn_info_entry,
2416 pub insn_info_size: usize,
2417 pub local_table: *mut ID,
2418 pub local_table_size: ::std::os::raw::c_int,
2419 pub local_size: ::std::os::raw::c_int,
2420 pub ic_entries: *mut iseq_inline_cache_entry,
2421 pub ic_size: ::std::os::raw::c_int,
2422 pub argc: ::std::os::raw::c_int,
2423 pub arg_simple: ::std::os::raw::c_int,
2424 pub arg_rest: ::std::os::raw::c_int,
2425 pub arg_block: ::std::os::raw::c_int,
2426 pub arg_opts: ::std::os::raw::c_int,
2427 pub arg_post_len: ::std::os::raw::c_int,
2428 pub arg_post_start: ::std::os::raw::c_int,
2429 pub arg_size: ::std::os::raw::c_int,
2430 pub arg_opt_table: *mut VALUE,
2431 pub stack_max: usize,
2432 pub catch_table: *mut iseq_catch_table_entry,
2433 pub catch_table_size: ::std::os::raw::c_int,
2434 pub parent_iseq: *mut rb_iseq_struct,
2435 pub local_iseq: *mut rb_iseq_struct,
2436 pub self_: VALUE,
2437 pub orig: VALUE,
2438 pub cref_stack: *mut NODE,
2439 pub klass: VALUE,
2440 pub defined_method_id: ID,
2441 pub compile_data: *mut iseq_compile_data,
2442}
2443pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_TOP: rb_iseq_struct_iseq_type = 0;
2444pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_METHOD: rb_iseq_struct_iseq_type = 1;
2445pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_BLOCK: rb_iseq_struct_iseq_type = 2;
2446pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_CLASS: rb_iseq_struct_iseq_type = 3;
2447pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_RESCUE: rb_iseq_struct_iseq_type = 4;
2448pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_ENSURE: rb_iseq_struct_iseq_type = 5;
2449pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_EVAL: rb_iseq_struct_iseq_type = 6;
2450pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_MAIN: rb_iseq_struct_iseq_type = 7;
2451pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_DEFINED_GUARD: rb_iseq_struct_iseq_type = 8;
2452pub type rb_iseq_struct_iseq_type = ::std::os::raw::c_uint;
2453#[test]
2454fn bindgen_test_layout_rb_iseq_struct() {
2455 assert_eq!(
2456 ::std::mem::size_of::<rb_iseq_struct>(),
2457 256usize,
2458 concat!("Size of: ", stringify!(rb_iseq_struct))
2459 );
2460 assert_eq!(
2461 ::std::mem::align_of::<rb_iseq_struct>(),
2462 8usize,
2463 concat!("Alignment of ", stringify!(rb_iseq_struct))
2464 );
2465 assert_eq!(
2466 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).type_ as *const _ as usize },
2467 0usize,
2468 concat!(
2469 "Offset of field: ",
2470 stringify!(rb_iseq_struct),
2471 "::",
2472 stringify!(type_)
2473 )
2474 );
2475 assert_eq!(
2476 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).name as *const _ as usize },
2477 8usize,
2478 concat!(
2479 "Offset of field: ",
2480 stringify!(rb_iseq_struct),
2481 "::",
2482 stringify!(name)
2483 )
2484 );
2485 assert_eq!(
2486 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).filename as *const _ as usize },
2487 16usize,
2488 concat!(
2489 "Offset of field: ",
2490 stringify!(rb_iseq_struct),
2491 "::",
2492 stringify!(filename)
2493 )
2494 );
2495 assert_eq!(
2496 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).filepath as *const _ as usize },
2497 24usize,
2498 concat!(
2499 "Offset of field: ",
2500 stringify!(rb_iseq_struct),
2501 "::",
2502 stringify!(filepath)
2503 )
2504 );
2505 assert_eq!(
2506 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).iseq as *const _ as usize },
2507 32usize,
2508 concat!(
2509 "Offset of field: ",
2510 stringify!(rb_iseq_struct),
2511 "::",
2512 stringify!(iseq)
2513 )
2514 );
2515 assert_eq!(
2516 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).iseq_encoded as *const _ as usize },
2517 40usize,
2518 concat!(
2519 "Offset of field: ",
2520 stringify!(rb_iseq_struct),
2521 "::",
2522 stringify!(iseq_encoded)
2523 )
2524 );
2525 assert_eq!(
2526 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).iseq_size as *const _ as usize },
2527 48usize,
2528 concat!(
2529 "Offset of field: ",
2530 stringify!(rb_iseq_struct),
2531 "::",
2532 stringify!(iseq_size)
2533 )
2534 );
2535 assert_eq!(
2536 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).mark_ary as *const _ as usize },
2537 56usize,
2538 concat!(
2539 "Offset of field: ",
2540 stringify!(rb_iseq_struct),
2541 "::",
2542 stringify!(mark_ary)
2543 )
2544 );
2545 assert_eq!(
2546 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).coverage as *const _ as usize },
2547 64usize,
2548 concat!(
2549 "Offset of field: ",
2550 stringify!(rb_iseq_struct),
2551 "::",
2552 stringify!(coverage)
2553 )
2554 );
2555 assert_eq!(
2556 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).line_no as *const _ as usize },
2557 72usize,
2558 concat!(
2559 "Offset of field: ",
2560 stringify!(rb_iseq_struct),
2561 "::",
2562 stringify!(line_no)
2563 )
2564 );
2565 assert_eq!(
2566 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).insn_info_table as *const _ as usize },
2567 80usize,
2568 concat!(
2569 "Offset of field: ",
2570 stringify!(rb_iseq_struct),
2571 "::",
2572 stringify!(insn_info_table)
2573 )
2574 );
2575 assert_eq!(
2576 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).insn_info_size as *const _ as usize },
2577 88usize,
2578 concat!(
2579 "Offset of field: ",
2580 stringify!(rb_iseq_struct),
2581 "::",
2582 stringify!(insn_info_size)
2583 )
2584 );
2585 assert_eq!(
2586 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_table as *const _ as usize },
2587 96usize,
2588 concat!(
2589 "Offset of field: ",
2590 stringify!(rb_iseq_struct),
2591 "::",
2592 stringify!(local_table)
2593 )
2594 );
2595 assert_eq!(
2596 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_table_size as *const _ as usize },
2597 104usize,
2598 concat!(
2599 "Offset of field: ",
2600 stringify!(rb_iseq_struct),
2601 "::",
2602 stringify!(local_table_size)
2603 )
2604 );
2605 assert_eq!(
2606 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_size as *const _ as usize },
2607 108usize,
2608 concat!(
2609 "Offset of field: ",
2610 stringify!(rb_iseq_struct),
2611 "::",
2612 stringify!(local_size)
2613 )
2614 );
2615 assert_eq!(
2616 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).ic_entries as *const _ as usize },
2617 112usize,
2618 concat!(
2619 "Offset of field: ",
2620 stringify!(rb_iseq_struct),
2621 "::",
2622 stringify!(ic_entries)
2623 )
2624 );
2625 assert_eq!(
2626 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).ic_size as *const _ as usize },
2627 120usize,
2628 concat!(
2629 "Offset of field: ",
2630 stringify!(rb_iseq_struct),
2631 "::",
2632 stringify!(ic_size)
2633 )
2634 );
2635 assert_eq!(
2636 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).argc as *const _ as usize },
2637 124usize,
2638 concat!(
2639 "Offset of field: ",
2640 stringify!(rb_iseq_struct),
2641 "::",
2642 stringify!(argc)
2643 )
2644 );
2645 assert_eq!(
2646 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_simple as *const _ as usize },
2647 128usize,
2648 concat!(
2649 "Offset of field: ",
2650 stringify!(rb_iseq_struct),
2651 "::",
2652 stringify!(arg_simple)
2653 )
2654 );
2655 assert_eq!(
2656 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_rest as *const _ as usize },
2657 132usize,
2658 concat!(
2659 "Offset of field: ",
2660 stringify!(rb_iseq_struct),
2661 "::",
2662 stringify!(arg_rest)
2663 )
2664 );
2665 assert_eq!(
2666 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_block as *const _ as usize },
2667 136usize,
2668 concat!(
2669 "Offset of field: ",
2670 stringify!(rb_iseq_struct),
2671 "::",
2672 stringify!(arg_block)
2673 )
2674 );
2675 assert_eq!(
2676 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_opts as *const _ as usize },
2677 140usize,
2678 concat!(
2679 "Offset of field: ",
2680 stringify!(rb_iseq_struct),
2681 "::",
2682 stringify!(arg_opts)
2683 )
2684 );
2685 assert_eq!(
2686 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_post_len as *const _ as usize },
2687 144usize,
2688 concat!(
2689 "Offset of field: ",
2690 stringify!(rb_iseq_struct),
2691 "::",
2692 stringify!(arg_post_len)
2693 )
2694 );
2695 assert_eq!(
2696 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_post_start as *const _ as usize },
2697 148usize,
2698 concat!(
2699 "Offset of field: ",
2700 stringify!(rb_iseq_struct),
2701 "::",
2702 stringify!(arg_post_start)
2703 )
2704 );
2705 assert_eq!(
2706 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_size as *const _ as usize },
2707 152usize,
2708 concat!(
2709 "Offset of field: ",
2710 stringify!(rb_iseq_struct),
2711 "::",
2712 stringify!(arg_size)
2713 )
2714 );
2715 assert_eq!(
2716 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_opt_table as *const _ as usize },
2717 160usize,
2718 concat!(
2719 "Offset of field: ",
2720 stringify!(rb_iseq_struct),
2721 "::",
2722 stringify!(arg_opt_table)
2723 )
2724 );
2725 assert_eq!(
2726 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).stack_max as *const _ as usize },
2727 168usize,
2728 concat!(
2729 "Offset of field: ",
2730 stringify!(rb_iseq_struct),
2731 "::",
2732 stringify!(stack_max)
2733 )
2734 );
2735 assert_eq!(
2736 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).catch_table as *const _ as usize },
2737 176usize,
2738 concat!(
2739 "Offset of field: ",
2740 stringify!(rb_iseq_struct),
2741 "::",
2742 stringify!(catch_table)
2743 )
2744 );
2745 assert_eq!(
2746 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).catch_table_size as *const _ as usize },
2747 184usize,
2748 concat!(
2749 "Offset of field: ",
2750 stringify!(rb_iseq_struct),
2751 "::",
2752 stringify!(catch_table_size)
2753 )
2754 );
2755 assert_eq!(
2756 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).parent_iseq as *const _ as usize },
2757 192usize,
2758 concat!(
2759 "Offset of field: ",
2760 stringify!(rb_iseq_struct),
2761 "::",
2762 stringify!(parent_iseq)
2763 )
2764 );
2765 assert_eq!(
2766 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_iseq as *const _ as usize },
2767 200usize,
2768 concat!(
2769 "Offset of field: ",
2770 stringify!(rb_iseq_struct),
2771 "::",
2772 stringify!(local_iseq)
2773 )
2774 );
2775 assert_eq!(
2776 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).self_ as *const _ as usize },
2777 208usize,
2778 concat!(
2779 "Offset of field: ",
2780 stringify!(rb_iseq_struct),
2781 "::",
2782 stringify!(self_)
2783 )
2784 );
2785 assert_eq!(
2786 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).orig as *const _ as usize },
2787 216usize,
2788 concat!(
2789 "Offset of field: ",
2790 stringify!(rb_iseq_struct),
2791 "::",
2792 stringify!(orig)
2793 )
2794 );
2795 assert_eq!(
2796 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).cref_stack as *const _ as usize },
2797 224usize,
2798 concat!(
2799 "Offset of field: ",
2800 stringify!(rb_iseq_struct),
2801 "::",
2802 stringify!(cref_stack)
2803 )
2804 );
2805 assert_eq!(
2806 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).klass as *const _ as usize },
2807 232usize,
2808 concat!(
2809 "Offset of field: ",
2810 stringify!(rb_iseq_struct),
2811 "::",
2812 stringify!(klass)
2813 )
2814 );
2815 assert_eq!(
2816 unsafe {
2817 &(*(::std::ptr::null::<rb_iseq_struct>())).defined_method_id as *const _ as usize
2818 },
2819 240usize,
2820 concat!(
2821 "Offset of field: ",
2822 stringify!(rb_iseq_struct),
2823 "::",
2824 stringify!(defined_method_id)
2825 )
2826 );
2827 assert_eq!(
2828 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).compile_data as *const _ as usize },
2829 248usize,
2830 concat!(
2831 "Offset of field: ",
2832 stringify!(rb_iseq_struct),
2833 "::",
2834 stringify!(compile_data)
2835 )
2836 );
2837}
2838#[repr(C)]
2839#[derive(Debug, Copy, Clone)]
2840pub struct rb_objspace {
2841 _unused: [u8; 0],
2842}
2843#[repr(C)]
2844#[derive(Copy, Clone)]
2845pub struct rb_vm_struct {
2846 pub self_: VALUE,
2847 pub gvl: rb_global_vm_lock_t,
2848 pub main_thread: *mut rb_thread_struct,
2849 pub running_thread: *mut rb_thread_struct,
2850 pub living_threads: *mut st_table,
2851 pub thgroup_default: VALUE,
2852 pub running: ::std::os::raw::c_int,
2853 pub inhibit_thread_creation: ::std::os::raw::c_int,
2854 pub thread_abort_on_exception: ::std::os::raw::c_int,
2855 pub trace_flag: ::std::os::raw::c_ulong,
2856 pub sleeper: ::std::os::raw::c_int,
2857 pub mark_object_ary: VALUE,
2858 pub special_exceptions: [VALUE; 4usize],
2859 pub top_self: VALUE,
2860 pub load_path: VALUE,
2861 pub loaded_features: VALUE,
2862 pub loading_table: *mut st_table,
2863 pub trap_list: [rb_vm_struct__bindgen_ty_1; 65usize],
2864 pub event_hooks: *mut rb_event_hook_t,
2865 pub src_encoding_index: ::std::os::raw::c_int,
2866 pub verbose: VALUE,
2867 pub debug: VALUE,
2868 pub progname: VALUE,
2869 pub coverages: VALUE,
2870 pub unlinked_method_entry_list: *mut unlinked_method_entry_list_entry,
2871 pub objspace: *mut rb_objspace,
2872 pub at_exit: RArray,
2873}
2874#[repr(C)]
2875#[derive(Debug, Copy, Clone)]
2876pub struct rb_vm_struct__bindgen_ty_1 {
2877 pub cmd: VALUE,
2878 pub safe: ::std::os::raw::c_int,
2879}
2880#[test]
2881fn bindgen_test_layout_rb_vm_struct__bindgen_ty_1() {
2882 assert_eq!(
2883 ::std::mem::size_of::<rb_vm_struct__bindgen_ty_1>(),
2884 16usize,
2885 concat!("Size of: ", stringify!(rb_vm_struct__bindgen_ty_1))
2886 );
2887 assert_eq!(
2888 ::std::mem::align_of::<rb_vm_struct__bindgen_ty_1>(),
2889 8usize,
2890 concat!("Alignment of ", stringify!(rb_vm_struct__bindgen_ty_1))
2891 );
2892 assert_eq!(
2893 unsafe { &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_1>())).cmd as *const _ as usize },
2894 0usize,
2895 concat!(
2896 "Offset of field: ",
2897 stringify!(rb_vm_struct__bindgen_ty_1),
2898 "::",
2899 stringify!(cmd)
2900 )
2901 );
2902 assert_eq!(
2903 unsafe { &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_1>())).safe as *const _ as usize },
2904 8usize,
2905 concat!(
2906 "Offset of field: ",
2907 stringify!(rb_vm_struct__bindgen_ty_1),
2908 "::",
2909 stringify!(safe)
2910 )
2911 );
2912}
2913#[test]
2914fn bindgen_test_layout_rb_vm_struct() {
2915 assert_eq!(
2916 ::std::mem::size_of::<rb_vm_struct>(),
2917 1520usize,
2918 concat!("Size of: ", stringify!(rb_vm_struct))
2919 );
2920 assert_eq!(
2921 ::std::mem::align_of::<rb_vm_struct>(),
2922 8usize,
2923 concat!("Alignment of ", stringify!(rb_vm_struct))
2924 );
2925 assert_eq!(
2926 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).self_ as *const _ as usize },
2927 0usize,
2928 concat!(
2929 "Offset of field: ",
2930 stringify!(rb_vm_struct),
2931 "::",
2932 stringify!(self_)
2933 )
2934 );
2935 assert_eq!(
2936 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).gvl as *const _ as usize },
2937 8usize,
2938 concat!(
2939 "Offset of field: ",
2940 stringify!(rb_vm_struct),
2941 "::",
2942 stringify!(gvl)
2943 )
2944 );
2945 assert_eq!(
2946 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).main_thread as *const _ as usize },
2947 240usize,
2948 concat!(
2949 "Offset of field: ",
2950 stringify!(rb_vm_struct),
2951 "::",
2952 stringify!(main_thread)
2953 )
2954 );
2955 assert_eq!(
2956 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).running_thread as *const _ as usize },
2957 248usize,
2958 concat!(
2959 "Offset of field: ",
2960 stringify!(rb_vm_struct),
2961 "::",
2962 stringify!(running_thread)
2963 )
2964 );
2965 assert_eq!(
2966 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).living_threads as *const _ as usize },
2967 256usize,
2968 concat!(
2969 "Offset of field: ",
2970 stringify!(rb_vm_struct),
2971 "::",
2972 stringify!(living_threads)
2973 )
2974 );
2975 assert_eq!(
2976 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).thgroup_default as *const _ as usize },
2977 264usize,
2978 concat!(
2979 "Offset of field: ",
2980 stringify!(rb_vm_struct),
2981 "::",
2982 stringify!(thgroup_default)
2983 )
2984 );
2985 assert_eq!(
2986 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).running as *const _ as usize },
2987 272usize,
2988 concat!(
2989 "Offset of field: ",
2990 stringify!(rb_vm_struct),
2991 "::",
2992 stringify!(running)
2993 )
2994 );
2995 assert_eq!(
2996 unsafe {
2997 &(*(::std::ptr::null::<rb_vm_struct>())).inhibit_thread_creation as *const _ as usize
2998 },
2999 276usize,
3000 concat!(
3001 "Offset of field: ",
3002 stringify!(rb_vm_struct),
3003 "::",
3004 stringify!(inhibit_thread_creation)
3005 )
3006 );
3007 assert_eq!(
3008 unsafe {
3009 &(*(::std::ptr::null::<rb_vm_struct>())).thread_abort_on_exception as *const _ as usize
3010 },
3011 280usize,
3012 concat!(
3013 "Offset of field: ",
3014 stringify!(rb_vm_struct),
3015 "::",
3016 stringify!(thread_abort_on_exception)
3017 )
3018 );
3019 assert_eq!(
3020 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).trace_flag as *const _ as usize },
3021 288usize,
3022 concat!(
3023 "Offset of field: ",
3024 stringify!(rb_vm_struct),
3025 "::",
3026 stringify!(trace_flag)
3027 )
3028 );
3029 assert_eq!(
3030 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).sleeper as *const _ as usize },
3031 296usize,
3032 concat!(
3033 "Offset of field: ",
3034 stringify!(rb_vm_struct),
3035 "::",
3036 stringify!(sleeper)
3037 )
3038 );
3039 assert_eq!(
3040 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).mark_object_ary as *const _ as usize },
3041 304usize,
3042 concat!(
3043 "Offset of field: ",
3044 stringify!(rb_vm_struct),
3045 "::",
3046 stringify!(mark_object_ary)
3047 )
3048 );
3049 assert_eq!(
3050 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).special_exceptions as *const _ as usize },
3051 312usize,
3052 concat!(
3053 "Offset of field: ",
3054 stringify!(rb_vm_struct),
3055 "::",
3056 stringify!(special_exceptions)
3057 )
3058 );
3059 assert_eq!(
3060 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).top_self as *const _ as usize },
3061 344usize,
3062 concat!(
3063 "Offset of field: ",
3064 stringify!(rb_vm_struct),
3065 "::",
3066 stringify!(top_self)
3067 )
3068 );
3069 assert_eq!(
3070 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).load_path as *const _ as usize },
3071 352usize,
3072 concat!(
3073 "Offset of field: ",
3074 stringify!(rb_vm_struct),
3075 "::",
3076 stringify!(load_path)
3077 )
3078 );
3079 assert_eq!(
3080 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).loaded_features as *const _ as usize },
3081 360usize,
3082 concat!(
3083 "Offset of field: ",
3084 stringify!(rb_vm_struct),
3085 "::",
3086 stringify!(loaded_features)
3087 )
3088 );
3089 assert_eq!(
3090 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).loading_table as *const _ as usize },
3091 368usize,
3092 concat!(
3093 "Offset of field: ",
3094 stringify!(rb_vm_struct),
3095 "::",
3096 stringify!(loading_table)
3097 )
3098 );
3099 assert_eq!(
3100 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).trap_list as *const _ as usize },
3101 376usize,
3102 concat!(
3103 "Offset of field: ",
3104 stringify!(rb_vm_struct),
3105 "::",
3106 stringify!(trap_list)
3107 )
3108 );
3109 assert_eq!(
3110 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).event_hooks as *const _ as usize },
3111 1416usize,
3112 concat!(
3113 "Offset of field: ",
3114 stringify!(rb_vm_struct),
3115 "::",
3116 stringify!(event_hooks)
3117 )
3118 );
3119 assert_eq!(
3120 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).src_encoding_index as *const _ as usize },
3121 1424usize,
3122 concat!(
3123 "Offset of field: ",
3124 stringify!(rb_vm_struct),
3125 "::",
3126 stringify!(src_encoding_index)
3127 )
3128 );
3129 assert_eq!(
3130 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).verbose as *const _ as usize },
3131 1432usize,
3132 concat!(
3133 "Offset of field: ",
3134 stringify!(rb_vm_struct),
3135 "::",
3136 stringify!(verbose)
3137 )
3138 );
3139 assert_eq!(
3140 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).debug as *const _ as usize },
3141 1440usize,
3142 concat!(
3143 "Offset of field: ",
3144 stringify!(rb_vm_struct),
3145 "::",
3146 stringify!(debug)
3147 )
3148 );
3149 assert_eq!(
3150 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).progname as *const _ as usize },
3151 1448usize,
3152 concat!(
3153 "Offset of field: ",
3154 stringify!(rb_vm_struct),
3155 "::",
3156 stringify!(progname)
3157 )
3158 );
3159 assert_eq!(
3160 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).coverages as *const _ as usize },
3161 1456usize,
3162 concat!(
3163 "Offset of field: ",
3164 stringify!(rb_vm_struct),
3165 "::",
3166 stringify!(coverages)
3167 )
3168 );
3169 assert_eq!(
3170 unsafe {
3171 &(*(::std::ptr::null::<rb_vm_struct>())).unlinked_method_entry_list as *const _ as usize
3172 },
3173 1464usize,
3174 concat!(
3175 "Offset of field: ",
3176 stringify!(rb_vm_struct),
3177 "::",
3178 stringify!(unlinked_method_entry_list)
3179 )
3180 );
3181 assert_eq!(
3182 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).objspace as *const _ as usize },
3183 1472usize,
3184 concat!(
3185 "Offset of field: ",
3186 stringify!(rb_vm_struct),
3187 "::",
3188 stringify!(objspace)
3189 )
3190 );
3191 assert_eq!(
3192 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).at_exit as *const _ as usize },
3193 1480usize,
3194 concat!(
3195 "Offset of field: ",
3196 stringify!(rb_vm_struct),
3197 "::",
3198 stringify!(at_exit)
3199 )
3200 );
3201}
3202impl ::std::fmt::Debug for rb_vm_struct {
3203 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3204 write ! ( f , "rb_vm_struct {{ self: {:?}, gvl: {:?}, main_thread: {:?}, running_thread: {:?}, living_threads: {:?}, thgroup_default: {:?}, running: {:?}, inhibit_thread_creation: {:?}, thread_abort_on_exception: {:?}, trace_flag: {:?}, sleeper: {:?}, mark_object_ary: {:?}, special_exceptions: {:?}, top_self: {:?}, load_path: {:?}, loaded_features: {:?}, loading_table: {:?}, trap_list: [{}], event_hooks: {:?}, src_encoding_index: {:?}, verbose: {:?}, debug: {:?}, progname: {:?}, coverages: {:?}, unlinked_method_entry_list: {:?}, objspace: {:?}, at_exit: {:?} }}" , self . self_ , self . gvl , self . main_thread , self . running_thread , self . living_threads , self . thgroup_default , self . running , self . inhibit_thread_creation , self . thread_abort_on_exception , self . trace_flag , self . sleeper , self . mark_object_ary , self . special_exceptions , self . top_self , self . load_path , self . loaded_features , self . loading_table , self . trap_list . iter ( ) . enumerate ( ) . map ( | ( i , v ) | format ! ( "{}{:?}" , if i > 0 { ", " } else { "" } , v ) ) . collect :: < String > ( ) , self . event_hooks , self . src_encoding_index , self . verbose , self . debug , self . progname , self . coverages , self . unlinked_method_entry_list , self . objspace , self . at_exit )
3205 }
3206}
3207pub type rb_vm_t = rb_vm_struct;
3208#[repr(C)]
3209#[derive(Debug, Copy, Clone)]
3210pub struct rb_control_frame_t {
3211 pub pc: *mut VALUE,
3212 pub sp: *mut VALUE,
3213 pub bp: *mut VALUE,
3214 pub iseq: *mut rb_iseq_t,
3215 pub flag: VALUE,
3216 pub self_: VALUE,
3217 pub lfp: *mut VALUE,
3218 pub dfp: *mut VALUE,
3219 pub block_iseq: *mut rb_iseq_t,
3220 pub proc_: VALUE,
3221 pub me: *const rb_method_entry_t,
3222}
3223#[test]
3224fn bindgen_test_layout_rb_control_frame_t() {
3225 assert_eq!(
3226 ::std::mem::size_of::<rb_control_frame_t>(),
3227 88usize,
3228 concat!("Size of: ", stringify!(rb_control_frame_t))
3229 );
3230 assert_eq!(
3231 ::std::mem::align_of::<rb_control_frame_t>(),
3232 8usize,
3233 concat!("Alignment of ", stringify!(rb_control_frame_t))
3234 );
3235 assert_eq!(
3236 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).pc as *const _ as usize },
3237 0usize,
3238 concat!(
3239 "Offset of field: ",
3240 stringify!(rb_control_frame_t),
3241 "::",
3242 stringify!(pc)
3243 )
3244 );
3245 assert_eq!(
3246 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).sp as *const _ as usize },
3247 8usize,
3248 concat!(
3249 "Offset of field: ",
3250 stringify!(rb_control_frame_t),
3251 "::",
3252 stringify!(sp)
3253 )
3254 );
3255 assert_eq!(
3256 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).bp as *const _ as usize },
3257 16usize,
3258 concat!(
3259 "Offset of field: ",
3260 stringify!(rb_control_frame_t),
3261 "::",
3262 stringify!(bp)
3263 )
3264 );
3265 assert_eq!(
3266 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).iseq as *const _ as usize },
3267 24usize,
3268 concat!(
3269 "Offset of field: ",
3270 stringify!(rb_control_frame_t),
3271 "::",
3272 stringify!(iseq)
3273 )
3274 );
3275 assert_eq!(
3276 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).flag as *const _ as usize },
3277 32usize,
3278 concat!(
3279 "Offset of field: ",
3280 stringify!(rb_control_frame_t),
3281 "::",
3282 stringify!(flag)
3283 )
3284 );
3285 assert_eq!(
3286 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).self_ as *const _ as usize },
3287 40usize,
3288 concat!(
3289 "Offset of field: ",
3290 stringify!(rb_control_frame_t),
3291 "::",
3292 stringify!(self_)
3293 )
3294 );
3295 assert_eq!(
3296 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).lfp as *const _ as usize },
3297 48usize,
3298 concat!(
3299 "Offset of field: ",
3300 stringify!(rb_control_frame_t),
3301 "::",
3302 stringify!(lfp)
3303 )
3304 );
3305 assert_eq!(
3306 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).dfp as *const _ as usize },
3307 56usize,
3308 concat!(
3309 "Offset of field: ",
3310 stringify!(rb_control_frame_t),
3311 "::",
3312 stringify!(dfp)
3313 )
3314 );
3315 assert_eq!(
3316 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).block_iseq as *const _ as usize },
3317 64usize,
3318 concat!(
3319 "Offset of field: ",
3320 stringify!(rb_control_frame_t),
3321 "::",
3322 stringify!(block_iseq)
3323 )
3324 );
3325 assert_eq!(
3326 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).proc_ as *const _ as usize },
3327 72usize,
3328 concat!(
3329 "Offset of field: ",
3330 stringify!(rb_control_frame_t),
3331 "::",
3332 stringify!(proc_)
3333 )
3334 );
3335 assert_eq!(
3336 unsafe { &(*(::std::ptr::null::<rb_control_frame_t>())).me as *const _ as usize },
3337 80usize,
3338 concat!(
3339 "Offset of field: ",
3340 stringify!(rb_control_frame_t),
3341 "::",
3342 stringify!(me)
3343 )
3344 );
3345}
3346#[repr(C)]
3347#[derive(Debug, Copy, Clone)]
3348pub struct rb_block_struct {
3349 pub self_: VALUE,
3350 pub lfp: *mut VALUE,
3351 pub dfp: *mut VALUE,
3352 pub iseq: *mut rb_iseq_t,
3353 pub proc_: VALUE,
3354}
3355#[test]
3356fn bindgen_test_layout_rb_block_struct() {
3357 assert_eq!(
3358 ::std::mem::size_of::<rb_block_struct>(),
3359 40usize,
3360 concat!("Size of: ", stringify!(rb_block_struct))
3361 );
3362 assert_eq!(
3363 ::std::mem::align_of::<rb_block_struct>(),
3364 8usize,
3365 concat!("Alignment of ", stringify!(rb_block_struct))
3366 );
3367 assert_eq!(
3368 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).self_ as *const _ as usize },
3369 0usize,
3370 concat!(
3371 "Offset of field: ",
3372 stringify!(rb_block_struct),
3373 "::",
3374 stringify!(self_)
3375 )
3376 );
3377 assert_eq!(
3378 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).lfp as *const _ as usize },
3379 8usize,
3380 concat!(
3381 "Offset of field: ",
3382 stringify!(rb_block_struct),
3383 "::",
3384 stringify!(lfp)
3385 )
3386 );
3387 assert_eq!(
3388 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).dfp as *const _ as usize },
3389 16usize,
3390 concat!(
3391 "Offset of field: ",
3392 stringify!(rb_block_struct),
3393 "::",
3394 stringify!(dfp)
3395 )
3396 );
3397 assert_eq!(
3398 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).iseq as *const _ as usize },
3399 24usize,
3400 concat!(
3401 "Offset of field: ",
3402 stringify!(rb_block_struct),
3403 "::",
3404 stringify!(iseq)
3405 )
3406 );
3407 assert_eq!(
3408 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).proc_ as *const _ as usize },
3409 32usize,
3410 concat!(
3411 "Offset of field: ",
3412 stringify!(rb_block_struct),
3413 "::",
3414 stringify!(proc_)
3415 )
3416 );
3417}
3418pub type rb_block_t = rb_block_struct;
3419pub const rb_thread_status_THREAD_TO_KILL: rb_thread_status = 0;
3420pub const rb_thread_status_THREAD_RUNNABLE: rb_thread_status = 1;
3421pub const rb_thread_status_THREAD_STOPPED: rb_thread_status = 2;
3422pub const rb_thread_status_THREAD_STOPPED_FOREVER: rb_thread_status = 3;
3423pub const rb_thread_status_THREAD_KILLED: rb_thread_status = 4;
3424pub type rb_thread_status = ::std::os::raw::c_uint;
3425pub type rb_jmpbuf_t = jmp_buf;
3426#[repr(C)]
3427#[derive(Debug, Copy, Clone)]
3428pub struct rb_vm_tag {
3429 pub buf: rb_jmpbuf_t,
3430 pub tag: VALUE,
3431 pub retval: VALUE,
3432 pub prev: *mut rb_vm_tag,
3433}
3434#[test]
3435fn bindgen_test_layout_rb_vm_tag() {
3436 assert_eq!(
3437 ::std::mem::size_of::<rb_vm_tag>(),
3438 224usize,
3439 concat!("Size of: ", stringify!(rb_vm_tag))
3440 );
3441 assert_eq!(
3442 ::std::mem::align_of::<rb_vm_tag>(),
3443 8usize,
3444 concat!("Alignment of ", stringify!(rb_vm_tag))
3445 );
3446 assert_eq!(
3447 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).buf as *const _ as usize },
3448 0usize,
3449 concat!(
3450 "Offset of field: ",
3451 stringify!(rb_vm_tag),
3452 "::",
3453 stringify!(buf)
3454 )
3455 );
3456 assert_eq!(
3457 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).tag as *const _ as usize },
3458 200usize,
3459 concat!(
3460 "Offset of field: ",
3461 stringify!(rb_vm_tag),
3462 "::",
3463 stringify!(tag)
3464 )
3465 );
3466 assert_eq!(
3467 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).retval as *const _ as usize },
3468 208usize,
3469 concat!(
3470 "Offset of field: ",
3471 stringify!(rb_vm_tag),
3472 "::",
3473 stringify!(retval)
3474 )
3475 );
3476 assert_eq!(
3477 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).prev as *const _ as usize },
3478 216usize,
3479 concat!(
3480 "Offset of field: ",
3481 stringify!(rb_vm_tag),
3482 "::",
3483 stringify!(prev)
3484 )
3485 );
3486}
3487#[repr(C)]
3488#[derive(Debug, Copy, Clone)]
3489pub struct rb_vm_protect_tag {
3490 pub prev: *mut rb_vm_protect_tag,
3491}
3492#[test]
3493fn bindgen_test_layout_rb_vm_protect_tag() {
3494 assert_eq!(
3495 ::std::mem::size_of::<rb_vm_protect_tag>(),
3496 8usize,
3497 concat!("Size of: ", stringify!(rb_vm_protect_tag))
3498 );
3499 assert_eq!(
3500 ::std::mem::align_of::<rb_vm_protect_tag>(),
3501 8usize,
3502 concat!("Alignment of ", stringify!(rb_vm_protect_tag))
3503 );
3504 assert_eq!(
3505 unsafe { &(*(::std::ptr::null::<rb_vm_protect_tag>())).prev as *const _ as usize },
3506 0usize,
3507 concat!(
3508 "Offset of field: ",
3509 stringify!(rb_vm_protect_tag),
3510 "::",
3511 stringify!(prev)
3512 )
3513 );
3514}
3515#[repr(C)]
3516#[derive(Debug, Copy, Clone)]
3517pub struct rb_unblock_callback {
3518 pub func: rb_unblock_function_t,
3519 pub arg: *mut ::std::os::raw::c_void,
3520}
3521#[test]
3522fn bindgen_test_layout_rb_unblock_callback() {
3523 assert_eq!(
3524 ::std::mem::size_of::<rb_unblock_callback>(),
3525 16usize,
3526 concat!("Size of: ", stringify!(rb_unblock_callback))
3527 );
3528 assert_eq!(
3529 ::std::mem::align_of::<rb_unblock_callback>(),
3530 8usize,
3531 concat!("Alignment of ", stringify!(rb_unblock_callback))
3532 );
3533 assert_eq!(
3534 unsafe { &(*(::std::ptr::null::<rb_unblock_callback>())).func as *const _ as usize },
3535 0usize,
3536 concat!(
3537 "Offset of field: ",
3538 stringify!(rb_unblock_callback),
3539 "::",
3540 stringify!(func)
3541 )
3542 );
3543 assert_eq!(
3544 unsafe { &(*(::std::ptr::null::<rb_unblock_callback>())).arg as *const _ as usize },
3545 8usize,
3546 concat!(
3547 "Offset of field: ",
3548 stringify!(rb_unblock_callback),
3549 "::",
3550 stringify!(arg)
3551 )
3552 );
3553}
3554#[repr(C)]
3555#[derive(Debug, Copy, Clone)]
3556pub struct rb_mutex_struct {
3557 _unused: [u8; 0],
3558}
3559#[repr(C)]
3560#[derive(Copy, Clone)]
3561pub struct rb_thread_struct {
3562 pub self_: VALUE,
3563 pub vm: *mut rb_vm_t,
3564 pub stack: *mut VALUE,
3565 pub stack_size: ::std::os::raw::c_ulong,
3566 pub cfp: *mut rb_control_frame_t,
3567 pub safe_level: ::std::os::raw::c_int,
3568 pub raised_flag: ::std::os::raw::c_int,
3569 pub last_status: VALUE,
3570 pub state: ::std::os::raw::c_int,
3571 pub waiting_fd: ::std::os::raw::c_int,
3572 pub passed_block: *const rb_block_t,
3573 pub passed_me: *const rb_method_entry_t,
3574 pub top_self: VALUE,
3575 pub top_wrapper: VALUE,
3576 pub base_block: *mut rb_block_t,
3577 pub local_lfp: *mut VALUE,
3578 pub local_svar: VALUE,
3579 pub thread_id: rb_thread_id_t,
3580 pub status: rb_thread_status,
3581 pub priority: ::std::os::raw::c_int,
3582 pub native_thread_data: native_thread_data_t,
3583 pub blocking_region_buffer: *mut ::std::os::raw::c_void,
3584 pub thgroup: VALUE,
3585 pub value: VALUE,
3586 pub errinfo: VALUE,
3587 pub thrown_errinfo: VALUE,
3588 pub interrupt_flag: rb_atomic_t,
3589 pub interrupt_lock: rb_thread_lock_t,
3590 pub unblock: rb_unblock_callback,
3591 pub locking_mutex: VALUE,
3592 pub keeping_mutexes: *mut rb_mutex_struct,
3593 pub tag: *mut rb_vm_tag,
3594 pub protect_tag: *mut rb_vm_protect_tag,
3595 pub parse_in_eval: ::std::os::raw::c_int,
3596 pub mild_compile_error: ::std::os::raw::c_int,
3597 pub local_storage: *mut st_table,
3598 pub join_list_next: *mut rb_thread_struct,
3599 pub join_list_head: *mut rb_thread_struct,
3600 pub first_proc: VALUE,
3601 pub first_args: VALUE,
3602 pub first_func: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
3603 pub machine_stack_start: *mut VALUE,
3604 pub machine_stack_end: *mut VALUE,
3605 pub machine_stack_maxsize: usize,
3606 pub machine_regs: jmp_buf,
3607 pub mark_stack_len: ::std::os::raw::c_int,
3608 pub stat_insn_usage: VALUE,
3609 pub event_hooks: *mut rb_event_hook_t,
3610 pub event_flags: rb_event_flag_t,
3611 pub tracing: ::std::os::raw::c_int,
3612 pub fiber: VALUE,
3613 pub root_fiber: VALUE,
3614 pub root_jmpbuf: rb_jmpbuf_t,
3615 pub method_missing_reason: ::std::os::raw::c_int,
3616 pub abort_on_exception: ::std::os::raw::c_int,
3617 pub altstack: *mut ::std::os::raw::c_void,
3618 pub running_time_us: ::std::os::raw::c_ulong,
3619}
3620#[test]
3621fn bindgen_test_layout_rb_thread_struct() {
3622 assert_eq!(
3623 ::std::mem::size_of::<rb_thread_struct>(),
3624 888usize,
3625 concat!("Size of: ", stringify!(rb_thread_struct))
3626 );
3627 assert_eq!(
3628 ::std::mem::align_of::<rb_thread_struct>(),
3629 8usize,
3630 concat!("Alignment of ", stringify!(rb_thread_struct))
3631 );
3632 assert_eq!(
3633 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).self_ as *const _ as usize },
3634 0usize,
3635 concat!(
3636 "Offset of field: ",
3637 stringify!(rb_thread_struct),
3638 "::",
3639 stringify!(self_)
3640 )
3641 );
3642 assert_eq!(
3643 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).vm as *const _ as usize },
3644 8usize,
3645 concat!(
3646 "Offset of field: ",
3647 stringify!(rb_thread_struct),
3648 "::",
3649 stringify!(vm)
3650 )
3651 );
3652 assert_eq!(
3653 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).stack as *const _ as usize },
3654 16usize,
3655 concat!(
3656 "Offset of field: ",
3657 stringify!(rb_thread_struct),
3658 "::",
3659 stringify!(stack)
3660 )
3661 );
3662 assert_eq!(
3663 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).stack_size as *const _ as usize },
3664 24usize,
3665 concat!(
3666 "Offset of field: ",
3667 stringify!(rb_thread_struct),
3668 "::",
3669 stringify!(stack_size)
3670 )
3671 );
3672 assert_eq!(
3673 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).cfp as *const _ as usize },
3674 32usize,
3675 concat!(
3676 "Offset of field: ",
3677 stringify!(rb_thread_struct),
3678 "::",
3679 stringify!(cfp)
3680 )
3681 );
3682 assert_eq!(
3683 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).safe_level as *const _ as usize },
3684 40usize,
3685 concat!(
3686 "Offset of field: ",
3687 stringify!(rb_thread_struct),
3688 "::",
3689 stringify!(safe_level)
3690 )
3691 );
3692 assert_eq!(
3693 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).raised_flag as *const _ as usize },
3694 44usize,
3695 concat!(
3696 "Offset of field: ",
3697 stringify!(rb_thread_struct),
3698 "::",
3699 stringify!(raised_flag)
3700 )
3701 );
3702 assert_eq!(
3703 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).last_status as *const _ as usize },
3704 48usize,
3705 concat!(
3706 "Offset of field: ",
3707 stringify!(rb_thread_struct),
3708 "::",
3709 stringify!(last_status)
3710 )
3711 );
3712 assert_eq!(
3713 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).state as *const _ as usize },
3714 56usize,
3715 concat!(
3716 "Offset of field: ",
3717 stringify!(rb_thread_struct),
3718 "::",
3719 stringify!(state)
3720 )
3721 );
3722 assert_eq!(
3723 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).waiting_fd as *const _ as usize },
3724 60usize,
3725 concat!(
3726 "Offset of field: ",
3727 stringify!(rb_thread_struct),
3728 "::",
3729 stringify!(waiting_fd)
3730 )
3731 );
3732 assert_eq!(
3733 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).passed_block as *const _ as usize },
3734 64usize,
3735 concat!(
3736 "Offset of field: ",
3737 stringify!(rb_thread_struct),
3738 "::",
3739 stringify!(passed_block)
3740 )
3741 );
3742 assert_eq!(
3743 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).passed_me as *const _ as usize },
3744 72usize,
3745 concat!(
3746 "Offset of field: ",
3747 stringify!(rb_thread_struct),
3748 "::",
3749 stringify!(passed_me)
3750 )
3751 );
3752 assert_eq!(
3753 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).top_self as *const _ as usize },
3754 80usize,
3755 concat!(
3756 "Offset of field: ",
3757 stringify!(rb_thread_struct),
3758 "::",
3759 stringify!(top_self)
3760 )
3761 );
3762 assert_eq!(
3763 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).top_wrapper as *const _ as usize },
3764 88usize,
3765 concat!(
3766 "Offset of field: ",
3767 stringify!(rb_thread_struct),
3768 "::",
3769 stringify!(top_wrapper)
3770 )
3771 );
3772 assert_eq!(
3773 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).base_block as *const _ as usize },
3774 96usize,
3775 concat!(
3776 "Offset of field: ",
3777 stringify!(rb_thread_struct),
3778 "::",
3779 stringify!(base_block)
3780 )
3781 );
3782 assert_eq!(
3783 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).local_lfp as *const _ as usize },
3784 104usize,
3785 concat!(
3786 "Offset of field: ",
3787 stringify!(rb_thread_struct),
3788 "::",
3789 stringify!(local_lfp)
3790 )
3791 );
3792 assert_eq!(
3793 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).local_svar as *const _ as usize },
3794 112usize,
3795 concat!(
3796 "Offset of field: ",
3797 stringify!(rb_thread_struct),
3798 "::",
3799 stringify!(local_svar)
3800 )
3801 );
3802 assert_eq!(
3803 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).thread_id as *const _ as usize },
3804 120usize,
3805 concat!(
3806 "Offset of field: ",
3807 stringify!(rb_thread_struct),
3808 "::",
3809 stringify!(thread_id)
3810 )
3811 );
3812 assert_eq!(
3813 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).status as *const _ as usize },
3814 128usize,
3815 concat!(
3816 "Offset of field: ",
3817 stringify!(rb_thread_struct),
3818 "::",
3819 stringify!(status)
3820 )
3821 );
3822 assert_eq!(
3823 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).priority as *const _ as usize },
3824 132usize,
3825 concat!(
3826 "Offset of field: ",
3827 stringify!(rb_thread_struct),
3828 "::",
3829 stringify!(priority)
3830 )
3831 );
3832 assert_eq!(
3833 unsafe {
3834 &(*(::std::ptr::null::<rb_thread_struct>())).native_thread_data as *const _ as usize
3835 },
3836 136usize,
3837 concat!(
3838 "Offset of field: ",
3839 stringify!(rb_thread_struct),
3840 "::",
3841 stringify!(native_thread_data)
3842 )
3843 );
3844 assert_eq!(
3845 unsafe {
3846 &(*(::std::ptr::null::<rb_thread_struct>())).blocking_region_buffer as *const _ as usize
3847 },
3848 200usize,
3849 concat!(
3850 "Offset of field: ",
3851 stringify!(rb_thread_struct),
3852 "::",
3853 stringify!(blocking_region_buffer)
3854 )
3855 );
3856 assert_eq!(
3857 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).thgroup as *const _ as usize },
3858 208usize,
3859 concat!(
3860 "Offset of field: ",
3861 stringify!(rb_thread_struct),
3862 "::",
3863 stringify!(thgroup)
3864 )
3865 );
3866 assert_eq!(
3867 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).value as *const _ as usize },
3868 216usize,
3869 concat!(
3870 "Offset of field: ",
3871 stringify!(rb_thread_struct),
3872 "::",
3873 stringify!(value)
3874 )
3875 );
3876 assert_eq!(
3877 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).errinfo as *const _ as usize },
3878 224usize,
3879 concat!(
3880 "Offset of field: ",
3881 stringify!(rb_thread_struct),
3882 "::",
3883 stringify!(errinfo)
3884 )
3885 );
3886 assert_eq!(
3887 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).thrown_errinfo as *const _ as usize },
3888 232usize,
3889 concat!(
3890 "Offset of field: ",
3891 stringify!(rb_thread_struct),
3892 "::",
3893 stringify!(thrown_errinfo)
3894 )
3895 );
3896 assert_eq!(
3897 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).interrupt_flag as *const _ as usize },
3898 240usize,
3899 concat!(
3900 "Offset of field: ",
3901 stringify!(rb_thread_struct),
3902 "::",
3903 stringify!(interrupt_flag)
3904 )
3905 );
3906 assert_eq!(
3907 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).interrupt_lock as *const _ as usize },
3908 248usize,
3909 concat!(
3910 "Offset of field: ",
3911 stringify!(rb_thread_struct),
3912 "::",
3913 stringify!(interrupt_lock)
3914 )
3915 );
3916 assert_eq!(
3917 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).unblock as *const _ as usize },
3918 288usize,
3919 concat!(
3920 "Offset of field: ",
3921 stringify!(rb_thread_struct),
3922 "::",
3923 stringify!(unblock)
3924 )
3925 );
3926 assert_eq!(
3927 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).locking_mutex as *const _ as usize },
3928 304usize,
3929 concat!(
3930 "Offset of field: ",
3931 stringify!(rb_thread_struct),
3932 "::",
3933 stringify!(locking_mutex)
3934 )
3935 );
3936 assert_eq!(
3937 unsafe {
3938 &(*(::std::ptr::null::<rb_thread_struct>())).keeping_mutexes as *const _ as usize
3939 },
3940 312usize,
3941 concat!(
3942 "Offset of field: ",
3943 stringify!(rb_thread_struct),
3944 "::",
3945 stringify!(keeping_mutexes)
3946 )
3947 );
3948 assert_eq!(
3949 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).tag as *const _ as usize },
3950 320usize,
3951 concat!(
3952 "Offset of field: ",
3953 stringify!(rb_thread_struct),
3954 "::",
3955 stringify!(tag)
3956 )
3957 );
3958 assert_eq!(
3959 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).protect_tag as *const _ as usize },
3960 328usize,
3961 concat!(
3962 "Offset of field: ",
3963 stringify!(rb_thread_struct),
3964 "::",
3965 stringify!(protect_tag)
3966 )
3967 );
3968 assert_eq!(
3969 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).parse_in_eval as *const _ as usize },
3970 336usize,
3971 concat!(
3972 "Offset of field: ",
3973 stringify!(rb_thread_struct),
3974 "::",
3975 stringify!(parse_in_eval)
3976 )
3977 );
3978 assert_eq!(
3979 unsafe {
3980 &(*(::std::ptr::null::<rb_thread_struct>())).mild_compile_error as *const _ as usize
3981 },
3982 340usize,
3983 concat!(
3984 "Offset of field: ",
3985 stringify!(rb_thread_struct),
3986 "::",
3987 stringify!(mild_compile_error)
3988 )
3989 );
3990 assert_eq!(
3991 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).local_storage as *const _ as usize },
3992 344usize,
3993 concat!(
3994 "Offset of field: ",
3995 stringify!(rb_thread_struct),
3996 "::",
3997 stringify!(local_storage)
3998 )
3999 );
4000 assert_eq!(
4001 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).join_list_next as *const _ as usize },
4002 352usize,
4003 concat!(
4004 "Offset of field: ",
4005 stringify!(rb_thread_struct),
4006 "::",
4007 stringify!(join_list_next)
4008 )
4009 );
4010 assert_eq!(
4011 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).join_list_head as *const _ as usize },
4012 360usize,
4013 concat!(
4014 "Offset of field: ",
4015 stringify!(rb_thread_struct),
4016 "::",
4017 stringify!(join_list_head)
4018 )
4019 );
4020 assert_eq!(
4021 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).first_proc as *const _ as usize },
4022 368usize,
4023 concat!(
4024 "Offset of field: ",
4025 stringify!(rb_thread_struct),
4026 "::",
4027 stringify!(first_proc)
4028 )
4029 );
4030 assert_eq!(
4031 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).first_args as *const _ as usize },
4032 376usize,
4033 concat!(
4034 "Offset of field: ",
4035 stringify!(rb_thread_struct),
4036 "::",
4037 stringify!(first_args)
4038 )
4039 );
4040 assert_eq!(
4041 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).first_func as *const _ as usize },
4042 384usize,
4043 concat!(
4044 "Offset of field: ",
4045 stringify!(rb_thread_struct),
4046 "::",
4047 stringify!(first_func)
4048 )
4049 );
4050 assert_eq!(
4051 unsafe {
4052 &(*(::std::ptr::null::<rb_thread_struct>())).machine_stack_start as *const _ as usize
4053 },
4054 392usize,
4055 concat!(
4056 "Offset of field: ",
4057 stringify!(rb_thread_struct),
4058 "::",
4059 stringify!(machine_stack_start)
4060 )
4061 );
4062 assert_eq!(
4063 unsafe {
4064 &(*(::std::ptr::null::<rb_thread_struct>())).machine_stack_end as *const _ as usize
4065 },
4066 400usize,
4067 concat!(
4068 "Offset of field: ",
4069 stringify!(rb_thread_struct),
4070 "::",
4071 stringify!(machine_stack_end)
4072 )
4073 );
4074 assert_eq!(
4075 unsafe {
4076 &(*(::std::ptr::null::<rb_thread_struct>())).machine_stack_maxsize as *const _ as usize
4077 },
4078 408usize,
4079 concat!(
4080 "Offset of field: ",
4081 stringify!(rb_thread_struct),
4082 "::",
4083 stringify!(machine_stack_maxsize)
4084 )
4085 );
4086 assert_eq!(
4087 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).machine_regs as *const _ as usize },
4088 416usize,
4089 concat!(
4090 "Offset of field: ",
4091 stringify!(rb_thread_struct),
4092 "::",
4093 stringify!(machine_regs)
4094 )
4095 );
4096 assert_eq!(
4097 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).mark_stack_len as *const _ as usize },
4098 616usize,
4099 concat!(
4100 "Offset of field: ",
4101 stringify!(rb_thread_struct),
4102 "::",
4103 stringify!(mark_stack_len)
4104 )
4105 );
4106 assert_eq!(
4107 unsafe {
4108 &(*(::std::ptr::null::<rb_thread_struct>())).stat_insn_usage as *const _ as usize
4109 },
4110 624usize,
4111 concat!(
4112 "Offset of field: ",
4113 stringify!(rb_thread_struct),
4114 "::",
4115 stringify!(stat_insn_usage)
4116 )
4117 );
4118 assert_eq!(
4119 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).event_hooks as *const _ as usize },
4120 632usize,
4121 concat!(
4122 "Offset of field: ",
4123 stringify!(rb_thread_struct),
4124 "::",
4125 stringify!(event_hooks)
4126 )
4127 );
4128 assert_eq!(
4129 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).event_flags as *const _ as usize },
4130 640usize,
4131 concat!(
4132 "Offset of field: ",
4133 stringify!(rb_thread_struct),
4134 "::",
4135 stringify!(event_flags)
4136 )
4137 );
4138 assert_eq!(
4139 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).tracing as *const _ as usize },
4140 644usize,
4141 concat!(
4142 "Offset of field: ",
4143 stringify!(rb_thread_struct),
4144 "::",
4145 stringify!(tracing)
4146 )
4147 );
4148 assert_eq!(
4149 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).fiber as *const _ as usize },
4150 648usize,
4151 concat!(
4152 "Offset of field: ",
4153 stringify!(rb_thread_struct),
4154 "::",
4155 stringify!(fiber)
4156 )
4157 );
4158 assert_eq!(
4159 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).root_fiber as *const _ as usize },
4160 656usize,
4161 concat!(
4162 "Offset of field: ",
4163 stringify!(rb_thread_struct),
4164 "::",
4165 stringify!(root_fiber)
4166 )
4167 );
4168 assert_eq!(
4169 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).root_jmpbuf as *const _ as usize },
4170 664usize,
4171 concat!(
4172 "Offset of field: ",
4173 stringify!(rb_thread_struct),
4174 "::",
4175 stringify!(root_jmpbuf)
4176 )
4177 );
4178 assert_eq!(
4179 unsafe {
4180 &(*(::std::ptr::null::<rb_thread_struct>())).method_missing_reason as *const _ as usize
4181 },
4182 864usize,
4183 concat!(
4184 "Offset of field: ",
4185 stringify!(rb_thread_struct),
4186 "::",
4187 stringify!(method_missing_reason)
4188 )
4189 );
4190 assert_eq!(
4191 unsafe {
4192 &(*(::std::ptr::null::<rb_thread_struct>())).abort_on_exception as *const _ as usize
4193 },
4194 868usize,
4195 concat!(
4196 "Offset of field: ",
4197 stringify!(rb_thread_struct),
4198 "::",
4199 stringify!(abort_on_exception)
4200 )
4201 );
4202 assert_eq!(
4203 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).altstack as *const _ as usize },
4204 872usize,
4205 concat!(
4206 "Offset of field: ",
4207 stringify!(rb_thread_struct),
4208 "::",
4209 stringify!(altstack)
4210 )
4211 );
4212 assert_eq!(
4213 unsafe {
4214 &(*(::std::ptr::null::<rb_thread_struct>())).running_time_us as *const _ as usize
4215 },
4216 880usize,
4217 concat!(
4218 "Offset of field: ",
4219 stringify!(rb_thread_struct),
4220 "::",
4221 stringify!(running_time_us)
4222 )
4223 );
4224}
4225impl ::std::fmt::Debug for rb_thread_struct {
4226 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4227 write ! ( f , "rb_thread_struct {{ self: {:?}, vm: {:?}, stack: {:?}, stack_size: {:?}, cfp: {:?}, safe_level: {:?}, raised_flag: {:?}, last_status: {:?}, state: {:?}, waiting_fd: {:?}, passed_block: {:?}, passed_me: {:?}, top_self: {:?}, top_wrapper: {:?}, base_block: {:?}, local_lfp: {:?}, local_svar: {:?}, thread_id: {:?}, status: {:?}, priority: {:?}, native_thread_data: {:?}, blocking_region_buffer: {:?}, thgroup: {:?}, value: {:?}, errinfo: {:?}, thrown_errinfo: {:?}, interrupt_flag: {:?}, interrupt_lock: {:?}, unblock: {:?}, locking_mutex: {:?}, keeping_mutexes: {:?}, tag: {:?}, protect_tag: {:?}, parse_in_eval: {:?}, mild_compile_error: {:?}, local_storage: {:?}, join_list_next: {:?}, join_list_head: {:?}, first_proc: {:?}, first_args: {:?}, first_func: {:?}, machine_stack_start: {:?}, machine_stack_end: {:?}, machine_stack_maxsize: {:?}, machine_regs: {:?}, mark_stack_len: {:?}, stat_insn_usage: {:?}, event_hooks: {:?}, event_flags: {:?}, tracing: {:?}, fiber: {:?}, root_fiber: {:?}, root_jmpbuf: {:?}, method_missing_reason: {:?}, abort_on_exception: {:?}, altstack: {:?}, running_time_us: {:?} }}" , self . self_ , self . vm , self . stack , self . stack_size , self . cfp , self . safe_level , self . raised_flag , self . last_status , self . state , self . waiting_fd , self . passed_block , self . passed_me , self . top_self , self . top_wrapper , self . base_block , self . local_lfp , self . local_svar , self . thread_id , self . status , self . priority , self . native_thread_data , self . blocking_region_buffer , self . thgroup , self . value , self . errinfo , self . thrown_errinfo , self . interrupt_flag , self . interrupt_lock , self . unblock , self . locking_mutex , self . keeping_mutexes , self . tag , self . protect_tag , self . parse_in_eval , self . mild_compile_error , self . local_storage , self . join_list_next , self . join_list_head , self . first_proc , self . first_args , self . first_func , self . machine_stack_start , self . machine_stack_end , self . machine_stack_maxsize , self . machine_regs , self . mark_stack_len , self . stat_insn_usage , self . event_hooks , self . event_flags , self . tracing , self . fiber , self . root_fiber , self . root_jmpbuf , self . method_missing_reason , self . abort_on_exception , self . altstack , self . running_time_us )
4228 }
4229}
4230pub type rb_thread_t = rb_thread_struct;
4231#[repr(C)]
4232#[derive(Debug, Copy, Clone)]
4233pub struct rb_compile_option_struct {
4234 pub inline_const_cache: ::std::os::raw::c_int,
4235 pub peephole_optimization: ::std::os::raw::c_int,
4236 pub tailcall_optimization: ::std::os::raw::c_int,
4237 pub specialized_instruction: ::std::os::raw::c_int,
4238 pub operands_unification: ::std::os::raw::c_int,
4239 pub instructions_unification: ::std::os::raw::c_int,
4240 pub stack_caching: ::std::os::raw::c_int,
4241 pub trace_instruction: ::std::os::raw::c_int,
4242 pub debug_level: ::std::os::raw::c_int,
4243}
4244#[test]
4245fn bindgen_test_layout_rb_compile_option_struct() {
4246 assert_eq!(
4247 ::std::mem::size_of::<rb_compile_option_struct>(),
4248 36usize,
4249 concat!("Size of: ", stringify!(rb_compile_option_struct))
4250 );
4251 assert_eq!(
4252 ::std::mem::align_of::<rb_compile_option_struct>(),
4253 4usize,
4254 concat!("Alignment of ", stringify!(rb_compile_option_struct))
4255 );
4256 assert_eq!(
4257 unsafe {
4258 &(*(::std::ptr::null::<rb_compile_option_struct>())).inline_const_cache as *const _
4259 as usize
4260 },
4261 0usize,
4262 concat!(
4263 "Offset of field: ",
4264 stringify!(rb_compile_option_struct),
4265 "::",
4266 stringify!(inline_const_cache)
4267 )
4268 );
4269 assert_eq!(
4270 unsafe {
4271 &(*(::std::ptr::null::<rb_compile_option_struct>())).peephole_optimization as *const _
4272 as usize
4273 },
4274 4usize,
4275 concat!(
4276 "Offset of field: ",
4277 stringify!(rb_compile_option_struct),
4278 "::",
4279 stringify!(peephole_optimization)
4280 )
4281 );
4282 assert_eq!(
4283 unsafe {
4284 &(*(::std::ptr::null::<rb_compile_option_struct>())).tailcall_optimization as *const _
4285 as usize
4286 },
4287 8usize,
4288 concat!(
4289 "Offset of field: ",
4290 stringify!(rb_compile_option_struct),
4291 "::",
4292 stringify!(tailcall_optimization)
4293 )
4294 );
4295 assert_eq!(
4296 unsafe {
4297 &(*(::std::ptr::null::<rb_compile_option_struct>())).specialized_instruction as *const _
4298 as usize
4299 },
4300 12usize,
4301 concat!(
4302 "Offset of field: ",
4303 stringify!(rb_compile_option_struct),
4304 "::",
4305 stringify!(specialized_instruction)
4306 )
4307 );
4308 assert_eq!(
4309 unsafe {
4310 &(*(::std::ptr::null::<rb_compile_option_struct>())).operands_unification as *const _
4311 as usize
4312 },
4313 16usize,
4314 concat!(
4315 "Offset of field: ",
4316 stringify!(rb_compile_option_struct),
4317 "::",
4318 stringify!(operands_unification)
4319 )
4320 );
4321 assert_eq!(
4322 unsafe {
4323 &(*(::std::ptr::null::<rb_compile_option_struct>())).instructions_unification
4324 as *const _ as usize
4325 },
4326 20usize,
4327 concat!(
4328 "Offset of field: ",
4329 stringify!(rb_compile_option_struct),
4330 "::",
4331 stringify!(instructions_unification)
4332 )
4333 );
4334 assert_eq!(
4335 unsafe {
4336 &(*(::std::ptr::null::<rb_compile_option_struct>())).stack_caching as *const _ as usize
4337 },
4338 24usize,
4339 concat!(
4340 "Offset of field: ",
4341 stringify!(rb_compile_option_struct),
4342 "::",
4343 stringify!(stack_caching)
4344 )
4345 );
4346 assert_eq!(
4347 unsafe {
4348 &(*(::std::ptr::null::<rb_compile_option_struct>())).trace_instruction as *const _
4349 as usize
4350 },
4351 28usize,
4352 concat!(
4353 "Offset of field: ",
4354 stringify!(rb_compile_option_struct),
4355 "::",
4356 stringify!(trace_instruction)
4357 )
4358 );
4359 assert_eq!(
4360 unsafe {
4361 &(*(::std::ptr::null::<rb_compile_option_struct>())).debug_level as *const _ as usize
4362 },
4363 32usize,
4364 concat!(
4365 "Offset of field: ",
4366 stringify!(rb_compile_option_struct),
4367 "::",
4368 stringify!(debug_level)
4369 )
4370 );
4371}
4372#[repr(C)]
4373#[derive(Debug, Copy, Clone)]
4374pub struct iseq_insn_info_entry {
4375 pub position: ::std::os::raw::c_ushort,
4376 pub line_no: ::std::os::raw::c_ushort,
4377 pub sp: ::std::os::raw::c_ushort,
4378}
4379#[test]
4380fn bindgen_test_layout_iseq_insn_info_entry() {
4381 assert_eq!(
4382 ::std::mem::size_of::<iseq_insn_info_entry>(),
4383 6usize,
4384 concat!("Size of: ", stringify!(iseq_insn_info_entry))
4385 );
4386 assert_eq!(
4387 ::std::mem::align_of::<iseq_insn_info_entry>(),
4388 2usize,
4389 concat!("Alignment of ", stringify!(iseq_insn_info_entry))
4390 );
4391 assert_eq!(
4392 unsafe { &(*(::std::ptr::null::<iseq_insn_info_entry>())).position as *const _ as usize },
4393 0usize,
4394 concat!(
4395 "Offset of field: ",
4396 stringify!(iseq_insn_info_entry),
4397 "::",
4398 stringify!(position)
4399 )
4400 );
4401 assert_eq!(
4402 unsafe { &(*(::std::ptr::null::<iseq_insn_info_entry>())).line_no as *const _ as usize },
4403 2usize,
4404 concat!(
4405 "Offset of field: ",
4406 stringify!(iseq_insn_info_entry),
4407 "::",
4408 stringify!(line_no)
4409 )
4410 );
4411 assert_eq!(
4412 unsafe { &(*(::std::ptr::null::<iseq_insn_info_entry>())).sp as *const _ as usize },
4413 4usize,
4414 concat!(
4415 "Offset of field: ",
4416 stringify!(iseq_insn_info_entry),
4417 "::",
4418 stringify!(sp)
4419 )
4420 );
4421}
4422#[repr(C)]
4423#[derive(Debug, Copy, Clone)]
4424pub struct iseq_catch_table_entry {
4425 pub type_: iseq_catch_table_entry_catch_type,
4426 pub iseq: VALUE,
4427 pub start: ::std::os::raw::c_ulong,
4428 pub end: ::std::os::raw::c_ulong,
4429 pub cont: ::std::os::raw::c_ulong,
4430 pub sp: ::std::os::raw::c_ulong,
4431}
4432pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_RESCUE: iseq_catch_table_entry_catch_type =
4433 0;
4434pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_ENSURE: iseq_catch_table_entry_catch_type =
4435 1;
4436pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_RETRY: iseq_catch_table_entry_catch_type = 2;
4437pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_BREAK: iseq_catch_table_entry_catch_type = 3;
4438pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_REDO: iseq_catch_table_entry_catch_type = 4;
4439pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_NEXT: iseq_catch_table_entry_catch_type = 5;
4440pub type iseq_catch_table_entry_catch_type = ::std::os::raw::c_uint;
4441#[test]
4442fn bindgen_test_layout_iseq_catch_table_entry() {
4443 assert_eq!(
4444 ::std::mem::size_of::<iseq_catch_table_entry>(),
4445 48usize,
4446 concat!("Size of: ", stringify!(iseq_catch_table_entry))
4447 );
4448 assert_eq!(
4449 ::std::mem::align_of::<iseq_catch_table_entry>(),
4450 8usize,
4451 concat!("Alignment of ", stringify!(iseq_catch_table_entry))
4452 );
4453 assert_eq!(
4454 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).type_ as *const _ as usize },
4455 0usize,
4456 concat!(
4457 "Offset of field: ",
4458 stringify!(iseq_catch_table_entry),
4459 "::",
4460 stringify!(type_)
4461 )
4462 );
4463 assert_eq!(
4464 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).iseq as *const _ as usize },
4465 8usize,
4466 concat!(
4467 "Offset of field: ",
4468 stringify!(iseq_catch_table_entry),
4469 "::",
4470 stringify!(iseq)
4471 )
4472 );
4473 assert_eq!(
4474 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).start as *const _ as usize },
4475 16usize,
4476 concat!(
4477 "Offset of field: ",
4478 stringify!(iseq_catch_table_entry),
4479 "::",
4480 stringify!(start)
4481 )
4482 );
4483 assert_eq!(
4484 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).end as *const _ as usize },
4485 24usize,
4486 concat!(
4487 "Offset of field: ",
4488 stringify!(iseq_catch_table_entry),
4489 "::",
4490 stringify!(end)
4491 )
4492 );
4493 assert_eq!(
4494 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).cont as *const _ as usize },
4495 32usize,
4496 concat!(
4497 "Offset of field: ",
4498 stringify!(iseq_catch_table_entry),
4499 "::",
4500 stringify!(cont)
4501 )
4502 );
4503 assert_eq!(
4504 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).sp as *const _ as usize },
4505 40usize,
4506 concat!(
4507 "Offset of field: ",
4508 stringify!(iseq_catch_table_entry),
4509 "::",
4510 stringify!(sp)
4511 )
4512 );
4513}
4514#[repr(C)]
4515#[derive(Debug, Copy, Clone)]
4516pub struct iseq_compile_data_storage {
4517 pub next: *mut iseq_compile_data_storage,
4518 pub pos: ::std::os::raw::c_ulong,
4519 pub size: ::std::os::raw::c_ulong,
4520 pub buff: *mut ::std::os::raw::c_char,
4521}
4522#[test]
4523fn bindgen_test_layout_iseq_compile_data_storage() {
4524 assert_eq!(
4525 ::std::mem::size_of::<iseq_compile_data_storage>(),
4526 32usize,
4527 concat!("Size of: ", stringify!(iseq_compile_data_storage))
4528 );
4529 assert_eq!(
4530 ::std::mem::align_of::<iseq_compile_data_storage>(),
4531 8usize,
4532 concat!("Alignment of ", stringify!(iseq_compile_data_storage))
4533 );
4534 assert_eq!(
4535 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).next as *const _ as usize },
4536 0usize,
4537 concat!(
4538 "Offset of field: ",
4539 stringify!(iseq_compile_data_storage),
4540 "::",
4541 stringify!(next)
4542 )
4543 );
4544 assert_eq!(
4545 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).pos as *const _ as usize },
4546 8usize,
4547 concat!(
4548 "Offset of field: ",
4549 stringify!(iseq_compile_data_storage),
4550 "::",
4551 stringify!(pos)
4552 )
4553 );
4554 assert_eq!(
4555 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).size as *const _ as usize },
4556 16usize,
4557 concat!(
4558 "Offset of field: ",
4559 stringify!(iseq_compile_data_storage),
4560 "::",
4561 stringify!(size)
4562 )
4563 );
4564 assert_eq!(
4565 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).buff as *const _ as usize },
4566 24usize,
4567 concat!(
4568 "Offset of field: ",
4569 stringify!(iseq_compile_data_storage),
4570 "::",
4571 stringify!(buff)
4572 )
4573 );
4574}
4575#[repr(C)]
4576#[derive(Debug, Copy, Clone)]
4577pub struct iseq_compile_data {
4578 pub err_info: VALUE,
4579 pub mark_ary: VALUE,
4580 pub catch_table_ary: VALUE,
4581 pub start_label: *mut iseq_label_data,
4582 pub end_label: *mut iseq_label_data,
4583 pub redo_label: *mut iseq_label_data,
4584 pub current_block: VALUE,
4585 pub ensure_node: VALUE,
4586 pub for_iseq: VALUE,
4587 pub ensure_node_stack: *mut iseq_compile_data_ensure_node_stack,
4588 pub loopval_popped: ::std::os::raw::c_int,
4589 pub cached_const: ::std::os::raw::c_int,
4590 pub storage_head: *mut iseq_compile_data_storage,
4591 pub storage_current: *mut iseq_compile_data_storage,
4592 pub last_line: ::std::os::raw::c_int,
4593 pub last_coverable_line: ::std::os::raw::c_int,
4594 pub flip_cnt: ::std::os::raw::c_int,
4595 pub label_no: ::std::os::raw::c_int,
4596 pub node_level: ::std::os::raw::c_int,
4597 pub option: *const rb_compile_option_t,
4598}
4599#[test]
4600fn bindgen_test_layout_iseq_compile_data() {
4601 assert_eq!(
4602 ::std::mem::size_of::<iseq_compile_data>(),
4603 136usize,
4604 concat!("Size of: ", stringify!(iseq_compile_data))
4605 );
4606 assert_eq!(
4607 ::std::mem::align_of::<iseq_compile_data>(),
4608 8usize,
4609 concat!("Alignment of ", stringify!(iseq_compile_data))
4610 );
4611 assert_eq!(
4612 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).err_info as *const _ as usize },
4613 0usize,
4614 concat!(
4615 "Offset of field: ",
4616 stringify!(iseq_compile_data),
4617 "::",
4618 stringify!(err_info)
4619 )
4620 );
4621 assert_eq!(
4622 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).mark_ary as *const _ as usize },
4623 8usize,
4624 concat!(
4625 "Offset of field: ",
4626 stringify!(iseq_compile_data),
4627 "::",
4628 stringify!(mark_ary)
4629 )
4630 );
4631 assert_eq!(
4632 unsafe {
4633 &(*(::std::ptr::null::<iseq_compile_data>())).catch_table_ary as *const _ as usize
4634 },
4635 16usize,
4636 concat!(
4637 "Offset of field: ",
4638 stringify!(iseq_compile_data),
4639 "::",
4640 stringify!(catch_table_ary)
4641 )
4642 );
4643 assert_eq!(
4644 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).start_label as *const _ as usize },
4645 24usize,
4646 concat!(
4647 "Offset of field: ",
4648 stringify!(iseq_compile_data),
4649 "::",
4650 stringify!(start_label)
4651 )
4652 );
4653 assert_eq!(
4654 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).end_label as *const _ as usize },
4655 32usize,
4656 concat!(
4657 "Offset of field: ",
4658 stringify!(iseq_compile_data),
4659 "::",
4660 stringify!(end_label)
4661 )
4662 );
4663 assert_eq!(
4664 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).redo_label as *const _ as usize },
4665 40usize,
4666 concat!(
4667 "Offset of field: ",
4668 stringify!(iseq_compile_data),
4669 "::",
4670 stringify!(redo_label)
4671 )
4672 );
4673 assert_eq!(
4674 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).current_block as *const _ as usize },
4675 48usize,
4676 concat!(
4677 "Offset of field: ",
4678 stringify!(iseq_compile_data),
4679 "::",
4680 stringify!(current_block)
4681 )
4682 );
4683 assert_eq!(
4684 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).ensure_node as *const _ as usize },
4685 56usize,
4686 concat!(
4687 "Offset of field: ",
4688 stringify!(iseq_compile_data),
4689 "::",
4690 stringify!(ensure_node)
4691 )
4692 );
4693 assert_eq!(
4694 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).for_iseq as *const _ as usize },
4695 64usize,
4696 concat!(
4697 "Offset of field: ",
4698 stringify!(iseq_compile_data),
4699 "::",
4700 stringify!(for_iseq)
4701 )
4702 );
4703 assert_eq!(
4704 unsafe {
4705 &(*(::std::ptr::null::<iseq_compile_data>())).ensure_node_stack as *const _ as usize
4706 },
4707 72usize,
4708 concat!(
4709 "Offset of field: ",
4710 stringify!(iseq_compile_data),
4711 "::",
4712 stringify!(ensure_node_stack)
4713 )
4714 );
4715 assert_eq!(
4716 unsafe {
4717 &(*(::std::ptr::null::<iseq_compile_data>())).loopval_popped as *const _ as usize
4718 },
4719 80usize,
4720 concat!(
4721 "Offset of field: ",
4722 stringify!(iseq_compile_data),
4723 "::",
4724 stringify!(loopval_popped)
4725 )
4726 );
4727 assert_eq!(
4728 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).cached_const as *const _ as usize },
4729 84usize,
4730 concat!(
4731 "Offset of field: ",
4732 stringify!(iseq_compile_data),
4733 "::",
4734 stringify!(cached_const)
4735 )
4736 );
4737 assert_eq!(
4738 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).storage_head as *const _ as usize },
4739 88usize,
4740 concat!(
4741 "Offset of field: ",
4742 stringify!(iseq_compile_data),
4743 "::",
4744 stringify!(storage_head)
4745 )
4746 );
4747 assert_eq!(
4748 unsafe {
4749 &(*(::std::ptr::null::<iseq_compile_data>())).storage_current as *const _ as usize
4750 },
4751 96usize,
4752 concat!(
4753 "Offset of field: ",
4754 stringify!(iseq_compile_data),
4755 "::",
4756 stringify!(storage_current)
4757 )
4758 );
4759 assert_eq!(
4760 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).last_line as *const _ as usize },
4761 104usize,
4762 concat!(
4763 "Offset of field: ",
4764 stringify!(iseq_compile_data),
4765 "::",
4766 stringify!(last_line)
4767 )
4768 );
4769 assert_eq!(
4770 unsafe {
4771 &(*(::std::ptr::null::<iseq_compile_data>())).last_coverable_line as *const _ as usize
4772 },
4773 108usize,
4774 concat!(
4775 "Offset of field: ",
4776 stringify!(iseq_compile_data),
4777 "::",
4778 stringify!(last_coverable_line)
4779 )
4780 );
4781 assert_eq!(
4782 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).flip_cnt as *const _ as usize },
4783 112usize,
4784 concat!(
4785 "Offset of field: ",
4786 stringify!(iseq_compile_data),
4787 "::",
4788 stringify!(flip_cnt)
4789 )
4790 );
4791 assert_eq!(
4792 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).label_no as *const _ as usize },
4793 116usize,
4794 concat!(
4795 "Offset of field: ",
4796 stringify!(iseq_compile_data),
4797 "::",
4798 stringify!(label_no)
4799 )
4800 );
4801 assert_eq!(
4802 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).node_level as *const _ as usize },
4803 120usize,
4804 concat!(
4805 "Offset of field: ",
4806 stringify!(iseq_compile_data),
4807 "::",
4808 stringify!(node_level)
4809 )
4810 );
4811 assert_eq!(
4812 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).option as *const _ as usize },
4813 128usize,
4814 concat!(
4815 "Offset of field: ",
4816 stringify!(iseq_compile_data),
4817 "::",
4818 stringify!(option)
4819 )
4820 );
4821}
4822#[repr(C)]
4823#[derive(Debug, Copy, Clone)]
4824pub struct st_table_entry {
4825 pub _address: u8,
4826}
4827#[repr(C)]
4828#[derive(Debug, Copy, Clone)]
4829pub struct iseq_label_data {
4830 pub _address: u8,
4831}