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(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 as_: st_table__bindgen_ty_1,
1061}
1062#[repr(C)]
1063#[derive(Copy, Clone)]
1064pub union st_table__bindgen_ty_1 {
1065 pub big: st_table__bindgen_ty_1__bindgen_ty_1,
1066 pub packed: st_table__bindgen_ty_1__bindgen_ty_2,
1067 _bindgen_union_align: [u64; 3usize],
1068}
1069#[repr(C)]
1070#[derive(Debug, Copy, Clone)]
1071pub struct st_table__bindgen_ty_1__bindgen_ty_1 {
1072 pub bins: *mut *mut st_table_entry,
1073 pub head: *mut st_table_entry,
1074 pub tail: *mut st_table_entry,
1075}
1076#[test]
1077fn bindgen_test_layout_st_table__bindgen_ty_1__bindgen_ty_1() {
1078 assert_eq!(
1079 ::std::mem::size_of::<st_table__bindgen_ty_1__bindgen_ty_1>(),
1080 24usize,
1081 concat!(
1082 "Size of: ",
1083 stringify!(st_table__bindgen_ty_1__bindgen_ty_1)
1084 )
1085 );
1086 assert_eq!(
1087 ::std::mem::align_of::<st_table__bindgen_ty_1__bindgen_ty_1>(),
1088 8usize,
1089 concat!(
1090 "Alignment of ",
1091 stringify!(st_table__bindgen_ty_1__bindgen_ty_1)
1092 )
1093 );
1094 assert_eq!(
1095 unsafe {
1096 &(*(::std::ptr::null::<st_table__bindgen_ty_1__bindgen_ty_1>())).bins as *const _
1097 as usize
1098 },
1099 0usize,
1100 concat!(
1101 "Offset of field: ",
1102 stringify!(st_table__bindgen_ty_1__bindgen_ty_1),
1103 "::",
1104 stringify!(bins)
1105 )
1106 );
1107 assert_eq!(
1108 unsafe {
1109 &(*(::std::ptr::null::<st_table__bindgen_ty_1__bindgen_ty_1>())).head as *const _
1110 as usize
1111 },
1112 8usize,
1113 concat!(
1114 "Offset of field: ",
1115 stringify!(st_table__bindgen_ty_1__bindgen_ty_1),
1116 "::",
1117 stringify!(head)
1118 )
1119 );
1120 assert_eq!(
1121 unsafe {
1122 &(*(::std::ptr::null::<st_table__bindgen_ty_1__bindgen_ty_1>())).tail as *const _
1123 as usize
1124 },
1125 16usize,
1126 concat!(
1127 "Offset of field: ",
1128 stringify!(st_table__bindgen_ty_1__bindgen_ty_1),
1129 "::",
1130 stringify!(tail)
1131 )
1132 );
1133}
1134#[repr(C)]
1135#[derive(Debug, Copy, Clone)]
1136pub struct st_table__bindgen_ty_1__bindgen_ty_2 {
1137 pub entries: *mut st_packed_entry,
1138 pub real_entries: st_index_t,
1139}
1140#[test]
1141fn bindgen_test_layout_st_table__bindgen_ty_1__bindgen_ty_2() {
1142 assert_eq!(
1143 ::std::mem::size_of::<st_table__bindgen_ty_1__bindgen_ty_2>(),
1144 16usize,
1145 concat!(
1146 "Size of: ",
1147 stringify!(st_table__bindgen_ty_1__bindgen_ty_2)
1148 )
1149 );
1150 assert_eq!(
1151 ::std::mem::align_of::<st_table__bindgen_ty_1__bindgen_ty_2>(),
1152 8usize,
1153 concat!(
1154 "Alignment of ",
1155 stringify!(st_table__bindgen_ty_1__bindgen_ty_2)
1156 )
1157 );
1158 assert_eq!(
1159 unsafe {
1160 &(*(::std::ptr::null::<st_table__bindgen_ty_1__bindgen_ty_2>())).entries as *const _
1161 as usize
1162 },
1163 0usize,
1164 concat!(
1165 "Offset of field: ",
1166 stringify!(st_table__bindgen_ty_1__bindgen_ty_2),
1167 "::",
1168 stringify!(entries)
1169 )
1170 );
1171 assert_eq!(
1172 unsafe {
1173 &(*(::std::ptr::null::<st_table__bindgen_ty_1__bindgen_ty_2>())).real_entries
1174 as *const _ as usize
1175 },
1176 8usize,
1177 concat!(
1178 "Offset of field: ",
1179 stringify!(st_table__bindgen_ty_1__bindgen_ty_2),
1180 "::",
1181 stringify!(real_entries)
1182 )
1183 );
1184}
1185#[test]
1186fn bindgen_test_layout_st_table__bindgen_ty_1() {
1187 assert_eq!(
1188 ::std::mem::size_of::<st_table__bindgen_ty_1>(),
1189 24usize,
1190 concat!("Size of: ", stringify!(st_table__bindgen_ty_1))
1191 );
1192 assert_eq!(
1193 ::std::mem::align_of::<st_table__bindgen_ty_1>(),
1194 8usize,
1195 concat!("Alignment of ", stringify!(st_table__bindgen_ty_1))
1196 );
1197 assert_eq!(
1198 unsafe { &(*(::std::ptr::null::<st_table__bindgen_ty_1>())).big as *const _ as usize },
1199 0usize,
1200 concat!(
1201 "Offset of field: ",
1202 stringify!(st_table__bindgen_ty_1),
1203 "::",
1204 stringify!(big)
1205 )
1206 );
1207 assert_eq!(
1208 unsafe { &(*(::std::ptr::null::<st_table__bindgen_ty_1>())).packed as *const _ as usize },
1209 0usize,
1210 concat!(
1211 "Offset of field: ",
1212 stringify!(st_table__bindgen_ty_1),
1213 "::",
1214 stringify!(packed)
1215 )
1216 );
1217}
1218impl ::std::fmt::Debug for st_table__bindgen_ty_1 {
1219 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1220 write!(f, "st_table__bindgen_ty_1 {{ union }}")
1221 }
1222}
1223#[test]
1224fn bindgen_test_layout_st_table() {
1225 assert_eq!(
1226 ::std::mem::size_of::<st_table>(),
1227 48usize,
1228 concat!("Size of: ", stringify!(st_table))
1229 );
1230 assert_eq!(
1231 ::std::mem::align_of::<st_table>(),
1232 8usize,
1233 concat!("Alignment of ", stringify!(st_table))
1234 );
1235 assert_eq!(
1236 unsafe { &(*(::std::ptr::null::<st_table>())).type_ as *const _ as usize },
1237 0usize,
1238 concat!(
1239 "Offset of field: ",
1240 stringify!(st_table),
1241 "::",
1242 stringify!(type_)
1243 )
1244 );
1245 assert_eq!(
1246 unsafe { &(*(::std::ptr::null::<st_table>())).num_bins as *const _ as usize },
1247 8usize,
1248 concat!(
1249 "Offset of field: ",
1250 stringify!(st_table),
1251 "::",
1252 stringify!(num_bins)
1253 )
1254 );
1255 assert_eq!(
1256 unsafe { &(*(::std::ptr::null::<st_table>())).as_ as *const _ as usize },
1257 24usize,
1258 concat!(
1259 "Offset of field: ",
1260 stringify!(st_table),
1261 "::",
1262 stringify!(as_)
1263 )
1264 );
1265}
1266impl ::std::fmt::Debug for st_table {
1267 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1268 write ! ( f , "st_table {{ type: {:?}, num_bins: {:?}, entries_packed : {:?}, num_entries : {:?}, as: {:?} }}" , self . type_ , self . num_bins , self . entries_packed ( ) , self . num_entries ( ) , self . as_ )
1269 }
1270}
1271impl st_table {
1272 #[inline]
1273 pub fn entries_packed(&self) -> ::std::os::raw::c_uint {
1274 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1275 }
1276 #[inline]
1277 pub fn set_entries_packed(&mut self, val: ::std::os::raw::c_uint) {
1278 unsafe {
1279 let val: u32 = ::std::mem::transmute(val);
1280 self._bitfield_1.set(0usize, 1u8, val as u64)
1281 }
1282 }
1283 #[inline]
1284 pub fn num_entries(&self) -> st_index_t {
1285 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 63u8) as usize) }
1286 }
1287 #[inline]
1288 pub fn set_num_entries(&mut self, val: st_index_t) {
1289 unsafe {
1290 let val: usize = ::std::mem::transmute(val);
1291 self._bitfield_1.set(1usize, 63u8, val as u64)
1292 }
1293 }
1294 #[inline]
1295 pub fn new_bitfield_1(
1296 entries_packed: ::std::os::raw::c_uint,
1297 num_entries: st_index_t,
1298 ) -> __BindgenBitfieldUnit<[u8; 8usize], u64> {
1299 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u64> =
1300 Default::default();
1301 __bindgen_bitfield_unit.set(0usize, 1u8, {
1302 let entries_packed: u32 = unsafe { ::std::mem::transmute(entries_packed) };
1303 entries_packed as u64
1304 });
1305 __bindgen_bitfield_unit.set(1usize, 63u8, {
1306 let num_entries: usize = unsafe { ::std::mem::transmute(num_entries) };
1307 num_entries as u64
1308 });
1309 __bindgen_bitfield_unit
1310 }
1311}
1312pub type rb_unblock_function_t =
1313 ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
1314pub type rb_event_flag_t = usize;
1315#[repr(C)]
1316#[derive(Copy, Clone)]
1317pub struct RNode {
1318 pub flags: VALUE,
1319 pub nd_reserved: VALUE,
1320 pub u1: RNode__bindgen_ty_1,
1321 pub u2: RNode__bindgen_ty_2,
1322 pub u3: RNode__bindgen_ty_3,
1323}
1324#[repr(C)]
1325#[derive(Copy, Clone)]
1326pub union RNode__bindgen_ty_1 {
1327 pub node: *mut RNode,
1328 pub id: ID,
1329 pub value: VALUE,
1330 pub cfunc: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
1331 pub tbl: *mut ID,
1332 _bindgen_union_align: u64,
1333}
1334#[test]
1335fn bindgen_test_layout_RNode__bindgen_ty_1() {
1336 assert_eq!(
1337 ::std::mem::size_of::<RNode__bindgen_ty_1>(),
1338 8usize,
1339 concat!("Size of: ", stringify!(RNode__bindgen_ty_1))
1340 );
1341 assert_eq!(
1342 ::std::mem::align_of::<RNode__bindgen_ty_1>(),
1343 8usize,
1344 concat!("Alignment of ", stringify!(RNode__bindgen_ty_1))
1345 );
1346 assert_eq!(
1347 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).node as *const _ as usize },
1348 0usize,
1349 concat!(
1350 "Offset of field: ",
1351 stringify!(RNode__bindgen_ty_1),
1352 "::",
1353 stringify!(node)
1354 )
1355 );
1356 assert_eq!(
1357 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).id as *const _ as usize },
1358 0usize,
1359 concat!(
1360 "Offset of field: ",
1361 stringify!(RNode__bindgen_ty_1),
1362 "::",
1363 stringify!(id)
1364 )
1365 );
1366 assert_eq!(
1367 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).value as *const _ as usize },
1368 0usize,
1369 concat!(
1370 "Offset of field: ",
1371 stringify!(RNode__bindgen_ty_1),
1372 "::",
1373 stringify!(value)
1374 )
1375 );
1376 assert_eq!(
1377 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).cfunc as *const _ as usize },
1378 0usize,
1379 concat!(
1380 "Offset of field: ",
1381 stringify!(RNode__bindgen_ty_1),
1382 "::",
1383 stringify!(cfunc)
1384 )
1385 );
1386 assert_eq!(
1387 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_1>())).tbl as *const _ as usize },
1388 0usize,
1389 concat!(
1390 "Offset of field: ",
1391 stringify!(RNode__bindgen_ty_1),
1392 "::",
1393 stringify!(tbl)
1394 )
1395 );
1396}
1397impl ::std::fmt::Debug for RNode__bindgen_ty_1 {
1398 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1399 write!(f, "RNode__bindgen_ty_1 {{ union }}")
1400 }
1401}
1402#[repr(C)]
1403#[derive(Copy, Clone)]
1404pub union RNode__bindgen_ty_2 {
1405 pub node: *mut RNode,
1406 pub id: ID,
1407 pub argc: ::std::os::raw::c_long,
1408 pub value: VALUE,
1409 _bindgen_union_align: u64,
1410}
1411#[test]
1412fn bindgen_test_layout_RNode__bindgen_ty_2() {
1413 assert_eq!(
1414 ::std::mem::size_of::<RNode__bindgen_ty_2>(),
1415 8usize,
1416 concat!("Size of: ", stringify!(RNode__bindgen_ty_2))
1417 );
1418 assert_eq!(
1419 ::std::mem::align_of::<RNode__bindgen_ty_2>(),
1420 8usize,
1421 concat!("Alignment of ", stringify!(RNode__bindgen_ty_2))
1422 );
1423 assert_eq!(
1424 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).node as *const _ as usize },
1425 0usize,
1426 concat!(
1427 "Offset of field: ",
1428 stringify!(RNode__bindgen_ty_2),
1429 "::",
1430 stringify!(node)
1431 )
1432 );
1433 assert_eq!(
1434 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).id as *const _ as usize },
1435 0usize,
1436 concat!(
1437 "Offset of field: ",
1438 stringify!(RNode__bindgen_ty_2),
1439 "::",
1440 stringify!(id)
1441 )
1442 );
1443 assert_eq!(
1444 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).argc as *const _ as usize },
1445 0usize,
1446 concat!(
1447 "Offset of field: ",
1448 stringify!(RNode__bindgen_ty_2),
1449 "::",
1450 stringify!(argc)
1451 )
1452 );
1453 assert_eq!(
1454 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_2>())).value as *const _ as usize },
1455 0usize,
1456 concat!(
1457 "Offset of field: ",
1458 stringify!(RNode__bindgen_ty_2),
1459 "::",
1460 stringify!(value)
1461 )
1462 );
1463}
1464impl ::std::fmt::Debug for RNode__bindgen_ty_2 {
1465 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1466 write!(f, "RNode__bindgen_ty_2 {{ union }}")
1467 }
1468}
1469#[repr(C)]
1470#[derive(Copy, Clone)]
1471pub union RNode__bindgen_ty_3 {
1472 pub node: *mut RNode,
1473 pub id: ID,
1474 pub state: ::std::os::raw::c_long,
1475 pub entry: *mut rb_global_entry,
1476 pub args: *mut rb_args_info,
1477 pub cnt: ::std::os::raw::c_long,
1478 pub value: VALUE,
1479 _bindgen_union_align: u64,
1480}
1481#[test]
1482fn bindgen_test_layout_RNode__bindgen_ty_3() {
1483 assert_eq!(
1484 ::std::mem::size_of::<RNode__bindgen_ty_3>(),
1485 8usize,
1486 concat!("Size of: ", stringify!(RNode__bindgen_ty_3))
1487 );
1488 assert_eq!(
1489 ::std::mem::align_of::<RNode__bindgen_ty_3>(),
1490 8usize,
1491 concat!("Alignment of ", stringify!(RNode__bindgen_ty_3))
1492 );
1493 assert_eq!(
1494 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).node as *const _ as usize },
1495 0usize,
1496 concat!(
1497 "Offset of field: ",
1498 stringify!(RNode__bindgen_ty_3),
1499 "::",
1500 stringify!(node)
1501 )
1502 );
1503 assert_eq!(
1504 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).id as *const _ as usize },
1505 0usize,
1506 concat!(
1507 "Offset of field: ",
1508 stringify!(RNode__bindgen_ty_3),
1509 "::",
1510 stringify!(id)
1511 )
1512 );
1513 assert_eq!(
1514 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).state as *const _ as usize },
1515 0usize,
1516 concat!(
1517 "Offset of field: ",
1518 stringify!(RNode__bindgen_ty_3),
1519 "::",
1520 stringify!(state)
1521 )
1522 );
1523 assert_eq!(
1524 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).entry as *const _ as usize },
1525 0usize,
1526 concat!(
1527 "Offset of field: ",
1528 stringify!(RNode__bindgen_ty_3),
1529 "::",
1530 stringify!(entry)
1531 )
1532 );
1533 assert_eq!(
1534 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).args as *const _ as usize },
1535 0usize,
1536 concat!(
1537 "Offset of field: ",
1538 stringify!(RNode__bindgen_ty_3),
1539 "::",
1540 stringify!(args)
1541 )
1542 );
1543 assert_eq!(
1544 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).cnt as *const _ as usize },
1545 0usize,
1546 concat!(
1547 "Offset of field: ",
1548 stringify!(RNode__bindgen_ty_3),
1549 "::",
1550 stringify!(cnt)
1551 )
1552 );
1553 assert_eq!(
1554 unsafe { &(*(::std::ptr::null::<RNode__bindgen_ty_3>())).value as *const _ as usize },
1555 0usize,
1556 concat!(
1557 "Offset of field: ",
1558 stringify!(RNode__bindgen_ty_3),
1559 "::",
1560 stringify!(value)
1561 )
1562 );
1563}
1564impl ::std::fmt::Debug for RNode__bindgen_ty_3 {
1565 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1566 write!(f, "RNode__bindgen_ty_3 {{ union }}")
1567 }
1568}
1569#[test]
1570fn bindgen_test_layout_RNode() {
1571 assert_eq!(
1572 ::std::mem::size_of::<RNode>(),
1573 40usize,
1574 concat!("Size of: ", stringify!(RNode))
1575 );
1576 assert_eq!(
1577 ::std::mem::align_of::<RNode>(),
1578 8usize,
1579 concat!("Alignment of ", stringify!(RNode))
1580 );
1581 assert_eq!(
1582 unsafe { &(*(::std::ptr::null::<RNode>())).flags as *const _ as usize },
1583 0usize,
1584 concat!(
1585 "Offset of field: ",
1586 stringify!(RNode),
1587 "::",
1588 stringify!(flags)
1589 )
1590 );
1591 assert_eq!(
1592 unsafe { &(*(::std::ptr::null::<RNode>())).nd_reserved as *const _ as usize },
1593 8usize,
1594 concat!(
1595 "Offset of field: ",
1596 stringify!(RNode),
1597 "::",
1598 stringify!(nd_reserved)
1599 )
1600 );
1601 assert_eq!(
1602 unsafe { &(*(::std::ptr::null::<RNode>())).u1 as *const _ as usize },
1603 16usize,
1604 concat!("Offset of field: ", stringify!(RNode), "::", stringify!(u1))
1605 );
1606 assert_eq!(
1607 unsafe { &(*(::std::ptr::null::<RNode>())).u2 as *const _ as usize },
1608 24usize,
1609 concat!("Offset of field: ", stringify!(RNode), "::", stringify!(u2))
1610 );
1611 assert_eq!(
1612 unsafe { &(*(::std::ptr::null::<RNode>())).u3 as *const _ as usize },
1613 32usize,
1614 concat!("Offset of field: ", stringify!(RNode), "::", stringify!(u3))
1615 );
1616}
1617impl ::std::fmt::Debug for RNode {
1618 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1619 write!(
1620 f,
1621 "RNode {{ flags: {:?}, nd_reserved: {:?}, u1: {:?}, u2: {:?}, u3: {:?} }}",
1622 self.flags, self.nd_reserved, self.u1, self.u2, self.u3
1623 )
1624 }
1625}
1626pub type NODE = RNode;
1627#[repr(C)]
1628#[derive(Debug, Copy, Clone)]
1629pub struct rb_global_entry {
1630 pub var: *mut rb_global_variable,
1631 pub id: ID,
1632}
1633#[test]
1634fn bindgen_test_layout_rb_global_entry() {
1635 assert_eq!(
1636 ::std::mem::size_of::<rb_global_entry>(),
1637 16usize,
1638 concat!("Size of: ", stringify!(rb_global_entry))
1639 );
1640 assert_eq!(
1641 ::std::mem::align_of::<rb_global_entry>(),
1642 8usize,
1643 concat!("Alignment of ", stringify!(rb_global_entry))
1644 );
1645 assert_eq!(
1646 unsafe { &(*(::std::ptr::null::<rb_global_entry>())).var as *const _ as usize },
1647 0usize,
1648 concat!(
1649 "Offset of field: ",
1650 stringify!(rb_global_entry),
1651 "::",
1652 stringify!(var)
1653 )
1654 );
1655 assert_eq!(
1656 unsafe { &(*(::std::ptr::null::<rb_global_entry>())).id as *const _ as usize },
1657 8usize,
1658 concat!(
1659 "Offset of field: ",
1660 stringify!(rb_global_entry),
1661 "::",
1662 stringify!(id)
1663 )
1664 );
1665}
1666#[repr(C)]
1667#[derive(Debug, Copy, Clone)]
1668pub struct rb_args_info {
1669 pub pre_init: *mut NODE,
1670 pub post_init: *mut NODE,
1671 pub pre_args_num: ::std::os::raw::c_int,
1672 pub post_args_num: ::std::os::raw::c_int,
1673 pub first_post_arg: ID,
1674 pub rest_arg: ID,
1675 pub block_arg: ID,
1676 pub kw_args: *mut NODE,
1677 pub kw_rest_arg: *mut NODE,
1678 pub opt_args: *mut NODE,
1679}
1680#[test]
1681fn bindgen_test_layout_rb_args_info() {
1682 assert_eq!(
1683 ::std::mem::size_of::<rb_args_info>(),
1684 72usize,
1685 concat!("Size of: ", stringify!(rb_args_info))
1686 );
1687 assert_eq!(
1688 ::std::mem::align_of::<rb_args_info>(),
1689 8usize,
1690 concat!("Alignment of ", stringify!(rb_args_info))
1691 );
1692 assert_eq!(
1693 unsafe { &(*(::std::ptr::null::<rb_args_info>())).pre_init as *const _ as usize },
1694 0usize,
1695 concat!(
1696 "Offset of field: ",
1697 stringify!(rb_args_info),
1698 "::",
1699 stringify!(pre_init)
1700 )
1701 );
1702 assert_eq!(
1703 unsafe { &(*(::std::ptr::null::<rb_args_info>())).post_init as *const _ as usize },
1704 8usize,
1705 concat!(
1706 "Offset of field: ",
1707 stringify!(rb_args_info),
1708 "::",
1709 stringify!(post_init)
1710 )
1711 );
1712 assert_eq!(
1713 unsafe { &(*(::std::ptr::null::<rb_args_info>())).pre_args_num as *const _ as usize },
1714 16usize,
1715 concat!(
1716 "Offset of field: ",
1717 stringify!(rb_args_info),
1718 "::",
1719 stringify!(pre_args_num)
1720 )
1721 );
1722 assert_eq!(
1723 unsafe { &(*(::std::ptr::null::<rb_args_info>())).post_args_num as *const _ as usize },
1724 20usize,
1725 concat!(
1726 "Offset of field: ",
1727 stringify!(rb_args_info),
1728 "::",
1729 stringify!(post_args_num)
1730 )
1731 );
1732 assert_eq!(
1733 unsafe { &(*(::std::ptr::null::<rb_args_info>())).first_post_arg as *const _ as usize },
1734 24usize,
1735 concat!(
1736 "Offset of field: ",
1737 stringify!(rb_args_info),
1738 "::",
1739 stringify!(first_post_arg)
1740 )
1741 );
1742 assert_eq!(
1743 unsafe { &(*(::std::ptr::null::<rb_args_info>())).rest_arg as *const _ as usize },
1744 32usize,
1745 concat!(
1746 "Offset of field: ",
1747 stringify!(rb_args_info),
1748 "::",
1749 stringify!(rest_arg)
1750 )
1751 );
1752 assert_eq!(
1753 unsafe { &(*(::std::ptr::null::<rb_args_info>())).block_arg as *const _ as usize },
1754 40usize,
1755 concat!(
1756 "Offset of field: ",
1757 stringify!(rb_args_info),
1758 "::",
1759 stringify!(block_arg)
1760 )
1761 );
1762 assert_eq!(
1763 unsafe { &(*(::std::ptr::null::<rb_args_info>())).kw_args as *const _ as usize },
1764 48usize,
1765 concat!(
1766 "Offset of field: ",
1767 stringify!(rb_args_info),
1768 "::",
1769 stringify!(kw_args)
1770 )
1771 );
1772 assert_eq!(
1773 unsafe { &(*(::std::ptr::null::<rb_args_info>())).kw_rest_arg as *const _ as usize },
1774 56usize,
1775 concat!(
1776 "Offset of field: ",
1777 stringify!(rb_args_info),
1778 "::",
1779 stringify!(kw_rest_arg)
1780 )
1781 );
1782 assert_eq!(
1783 unsafe { &(*(::std::ptr::null::<rb_args_info>())).opt_args as *const _ as usize },
1784 64usize,
1785 concat!(
1786 "Offset of field: ",
1787 stringify!(rb_args_info),
1788 "::",
1789 stringify!(opt_args)
1790 )
1791 );
1792}
1793pub const rb_method_flag_t_NOEX_PUBLIC: rb_method_flag_t = 0;
1794pub const rb_method_flag_t_NOEX_NOSUPER: rb_method_flag_t = 1;
1795pub const rb_method_flag_t_NOEX_PRIVATE: rb_method_flag_t = 2;
1796pub const rb_method_flag_t_NOEX_PROTECTED: rb_method_flag_t = 4;
1797pub const rb_method_flag_t_NOEX_MASK: rb_method_flag_t = 6;
1798pub const rb_method_flag_t_NOEX_BASIC: rb_method_flag_t = 8;
1799pub const rb_method_flag_t_NOEX_UNDEF: rb_method_flag_t = 1;
1800pub const rb_method_flag_t_NOEX_MODFUNC: rb_method_flag_t = 18;
1801pub const rb_method_flag_t_NOEX_SUPER: rb_method_flag_t = 32;
1802pub const rb_method_flag_t_NOEX_VCALL: rb_method_flag_t = 64;
1803pub const rb_method_flag_t_NOEX_RESPONDS: rb_method_flag_t = 128;
1804pub const rb_method_flag_t_NOEX_BIT_WIDTH: rb_method_flag_t = 8;
1805pub const rb_method_flag_t_NOEX_SAFE_SHIFT_OFFSET: rb_method_flag_t = 8;
1806pub type rb_method_flag_t = ::std::os::raw::c_uint;
1807pub const rb_method_type_t_VM_METHOD_TYPE_ISEQ: rb_method_type_t = 0;
1808pub const rb_method_type_t_VM_METHOD_TYPE_CFUNC: rb_method_type_t = 1;
1809pub const rb_method_type_t_VM_METHOD_TYPE_ATTRSET: rb_method_type_t = 2;
1810pub const rb_method_type_t_VM_METHOD_TYPE_IVAR: rb_method_type_t = 3;
1811pub const rb_method_type_t_VM_METHOD_TYPE_BMETHOD: rb_method_type_t = 4;
1812pub const rb_method_type_t_VM_METHOD_TYPE_ZSUPER: rb_method_type_t = 5;
1813pub const rb_method_type_t_VM_METHOD_TYPE_UNDEF: rb_method_type_t = 6;
1814pub const rb_method_type_t_VM_METHOD_TYPE_NOTIMPLEMENTED: rb_method_type_t = 7;
1815pub const rb_method_type_t_VM_METHOD_TYPE_OPTIMIZED: rb_method_type_t = 8;
1816pub const rb_method_type_t_VM_METHOD_TYPE_MISSING: rb_method_type_t = 9;
1817pub const rb_method_type_t_VM_METHOD_TYPE_REFINED: rb_method_type_t = 10;
1818pub type rb_method_type_t = ::std::os::raw::c_uint;
1819#[repr(C)]
1820#[derive(Debug, Copy, Clone)]
1821pub struct rb_method_cfunc_struct {
1822 pub func: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
1823 pub invoker: ::std::option::Option<
1824 unsafe extern "C" fn(
1825 func: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
1826 recv: VALUE,
1827 argc: ::std::os::raw::c_int,
1828 argv: *const VALUE,
1829 ) -> VALUE,
1830 >,
1831 pub argc: ::std::os::raw::c_int,
1832}
1833#[test]
1834fn bindgen_test_layout_rb_method_cfunc_struct() {
1835 assert_eq!(
1836 ::std::mem::size_of::<rb_method_cfunc_struct>(),
1837 24usize,
1838 concat!("Size of: ", stringify!(rb_method_cfunc_struct))
1839 );
1840 assert_eq!(
1841 ::std::mem::align_of::<rb_method_cfunc_struct>(),
1842 8usize,
1843 concat!("Alignment of ", stringify!(rb_method_cfunc_struct))
1844 );
1845 assert_eq!(
1846 unsafe { &(*(::std::ptr::null::<rb_method_cfunc_struct>())).func as *const _ as usize },
1847 0usize,
1848 concat!(
1849 "Offset of field: ",
1850 stringify!(rb_method_cfunc_struct),
1851 "::",
1852 stringify!(func)
1853 )
1854 );
1855 assert_eq!(
1856 unsafe { &(*(::std::ptr::null::<rb_method_cfunc_struct>())).invoker as *const _ as usize },
1857 8usize,
1858 concat!(
1859 "Offset of field: ",
1860 stringify!(rb_method_cfunc_struct),
1861 "::",
1862 stringify!(invoker)
1863 )
1864 );
1865 assert_eq!(
1866 unsafe { &(*(::std::ptr::null::<rb_method_cfunc_struct>())).argc as *const _ as usize },
1867 16usize,
1868 concat!(
1869 "Offset of field: ",
1870 stringify!(rb_method_cfunc_struct),
1871 "::",
1872 stringify!(argc)
1873 )
1874 );
1875}
1876pub type rb_method_cfunc_t = rb_method_cfunc_struct;
1877#[repr(C)]
1878#[derive(Debug, Copy, Clone)]
1879pub struct rb_method_attr_struct {
1880 pub id: ID,
1881 pub location: VALUE,
1882}
1883#[test]
1884fn bindgen_test_layout_rb_method_attr_struct() {
1885 assert_eq!(
1886 ::std::mem::size_of::<rb_method_attr_struct>(),
1887 16usize,
1888 concat!("Size of: ", stringify!(rb_method_attr_struct))
1889 );
1890 assert_eq!(
1891 ::std::mem::align_of::<rb_method_attr_struct>(),
1892 8usize,
1893 concat!("Alignment of ", stringify!(rb_method_attr_struct))
1894 );
1895 assert_eq!(
1896 unsafe { &(*(::std::ptr::null::<rb_method_attr_struct>())).id as *const _ as usize },
1897 0usize,
1898 concat!(
1899 "Offset of field: ",
1900 stringify!(rb_method_attr_struct),
1901 "::",
1902 stringify!(id)
1903 )
1904 );
1905 assert_eq!(
1906 unsafe { &(*(::std::ptr::null::<rb_method_attr_struct>())).location as *const _ as usize },
1907 8usize,
1908 concat!(
1909 "Offset of field: ",
1910 stringify!(rb_method_attr_struct),
1911 "::",
1912 stringify!(location)
1913 )
1914 );
1915}
1916pub type rb_method_attr_t = rb_method_attr_struct;
1917pub type rb_iseq_t = rb_iseq_struct;
1918#[repr(C)]
1919#[derive(Copy, Clone)]
1920pub struct rb_method_definition_struct {
1921 pub type_: rb_method_type_t,
1922 pub original_id: ID,
1923 pub body: rb_method_definition_struct__bindgen_ty_1,
1924 pub alias_count: ::std::os::raw::c_int,
1925}
1926#[repr(C)]
1927#[derive(Copy, Clone)]
1928pub union rb_method_definition_struct__bindgen_ty_1 {
1929 pub iseq: *mut rb_iseq_t,
1930 pub cfunc: rb_method_cfunc_t,
1931 pub attr: rb_method_attr_t,
1932 pub proc_: VALUE,
1933 pub optimize_type: rb_method_definition_struct__bindgen_ty_1_method_optimized_type,
1934 pub orig_me: *mut rb_method_entry_struct,
1935 _bindgen_union_align: [u64; 3usize],
1936}
1937pub 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 ;
1938pub 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 ;
1939pub const rb_method_definition_struct__bindgen_ty_1_method_optimized_type_OPTIMIZED_METHOD_TYPE__MAX : rb_method_definition_struct__bindgen_ty_1_method_optimized_type = 2 ;
1940pub type rb_method_definition_struct__bindgen_ty_1_method_optimized_type = ::std::os::raw::c_uint;
1941#[test]
1942fn bindgen_test_layout_rb_method_definition_struct__bindgen_ty_1() {
1943 assert_eq!(
1944 ::std::mem::size_of::<rb_method_definition_struct__bindgen_ty_1>(),
1945 24usize,
1946 concat!(
1947 "Size of: ",
1948 stringify!(rb_method_definition_struct__bindgen_ty_1)
1949 )
1950 );
1951 assert_eq!(
1952 ::std::mem::align_of::<rb_method_definition_struct__bindgen_ty_1>(),
1953 8usize,
1954 concat!(
1955 "Alignment of ",
1956 stringify!(rb_method_definition_struct__bindgen_ty_1)
1957 )
1958 );
1959 assert_eq!(
1960 unsafe {
1961 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).iseq as *const _
1962 as usize
1963 },
1964 0usize,
1965 concat!(
1966 "Offset of field: ",
1967 stringify!(rb_method_definition_struct__bindgen_ty_1),
1968 "::",
1969 stringify!(iseq)
1970 )
1971 );
1972 assert_eq!(
1973 unsafe {
1974 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).cfunc as *const _
1975 as usize
1976 },
1977 0usize,
1978 concat!(
1979 "Offset of field: ",
1980 stringify!(rb_method_definition_struct__bindgen_ty_1),
1981 "::",
1982 stringify!(cfunc)
1983 )
1984 );
1985 assert_eq!(
1986 unsafe {
1987 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).attr as *const _
1988 as usize
1989 },
1990 0usize,
1991 concat!(
1992 "Offset of field: ",
1993 stringify!(rb_method_definition_struct__bindgen_ty_1),
1994 "::",
1995 stringify!(attr)
1996 )
1997 );
1998 assert_eq!(
1999 unsafe {
2000 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).proc_ as *const _
2001 as usize
2002 },
2003 0usize,
2004 concat!(
2005 "Offset of field: ",
2006 stringify!(rb_method_definition_struct__bindgen_ty_1),
2007 "::",
2008 stringify!(proc_)
2009 )
2010 );
2011 assert_eq!(
2012 unsafe {
2013 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).optimize_type
2014 as *const _ as usize
2015 },
2016 0usize,
2017 concat!(
2018 "Offset of field: ",
2019 stringify!(rb_method_definition_struct__bindgen_ty_1),
2020 "::",
2021 stringify!(optimize_type)
2022 )
2023 );
2024 assert_eq!(
2025 unsafe {
2026 &(*(::std::ptr::null::<rb_method_definition_struct__bindgen_ty_1>())).orig_me
2027 as *const _ as usize
2028 },
2029 0usize,
2030 concat!(
2031 "Offset of field: ",
2032 stringify!(rb_method_definition_struct__bindgen_ty_1),
2033 "::",
2034 stringify!(orig_me)
2035 )
2036 );
2037}
2038impl ::std::fmt::Debug for rb_method_definition_struct__bindgen_ty_1 {
2039 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2040 write!(f, "rb_method_definition_struct__bindgen_ty_1 {{ union }}")
2041 }
2042}
2043#[test]
2044fn bindgen_test_layout_rb_method_definition_struct() {
2045 assert_eq!(
2046 ::std::mem::size_of::<rb_method_definition_struct>(),
2047 48usize,
2048 concat!("Size of: ", stringify!(rb_method_definition_struct))
2049 );
2050 assert_eq!(
2051 ::std::mem::align_of::<rb_method_definition_struct>(),
2052 8usize,
2053 concat!("Alignment of ", stringify!(rb_method_definition_struct))
2054 );
2055 assert_eq!(
2056 unsafe {
2057 &(*(::std::ptr::null::<rb_method_definition_struct>())).type_ as *const _ as usize
2058 },
2059 0usize,
2060 concat!(
2061 "Offset of field: ",
2062 stringify!(rb_method_definition_struct),
2063 "::",
2064 stringify!(type_)
2065 )
2066 );
2067 assert_eq!(
2068 unsafe {
2069 &(*(::std::ptr::null::<rb_method_definition_struct>())).original_id as *const _ as usize
2070 },
2071 8usize,
2072 concat!(
2073 "Offset of field: ",
2074 stringify!(rb_method_definition_struct),
2075 "::",
2076 stringify!(original_id)
2077 )
2078 );
2079 assert_eq!(
2080 unsafe {
2081 &(*(::std::ptr::null::<rb_method_definition_struct>())).body as *const _ as usize
2082 },
2083 16usize,
2084 concat!(
2085 "Offset of field: ",
2086 stringify!(rb_method_definition_struct),
2087 "::",
2088 stringify!(body)
2089 )
2090 );
2091 assert_eq!(
2092 unsafe {
2093 &(*(::std::ptr::null::<rb_method_definition_struct>())).alias_count as *const _ as usize
2094 },
2095 40usize,
2096 concat!(
2097 "Offset of field: ",
2098 stringify!(rb_method_definition_struct),
2099 "::",
2100 stringify!(alias_count)
2101 )
2102 );
2103}
2104impl ::std::fmt::Debug for rb_method_definition_struct {
2105 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2106 write ! ( f , "rb_method_definition_struct {{ type: {:?}, original_id: {:?}, body: {:?}, alias_count: {:?} }}" , self . type_ , self . original_id , self . body , self . alias_count )
2107 }
2108}
2109pub type rb_method_definition_t = rb_method_definition_struct;
2110#[repr(C)]
2111#[derive(Debug, Copy, Clone)]
2112pub struct rb_method_entry_struct {
2113 pub flag: rb_method_flag_t,
2114 pub mark: ::std::os::raw::c_char,
2115 pub def: *mut rb_method_definition_t,
2116 pub called_id: ID,
2117 pub klass: VALUE,
2118}
2119#[test]
2120fn bindgen_test_layout_rb_method_entry_struct() {
2121 assert_eq!(
2122 ::std::mem::size_of::<rb_method_entry_struct>(),
2123 32usize,
2124 concat!("Size of: ", stringify!(rb_method_entry_struct))
2125 );
2126 assert_eq!(
2127 ::std::mem::align_of::<rb_method_entry_struct>(),
2128 8usize,
2129 concat!("Alignment of ", stringify!(rb_method_entry_struct))
2130 );
2131 assert_eq!(
2132 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).flag as *const _ as usize },
2133 0usize,
2134 concat!(
2135 "Offset of field: ",
2136 stringify!(rb_method_entry_struct),
2137 "::",
2138 stringify!(flag)
2139 )
2140 );
2141 assert_eq!(
2142 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).mark as *const _ as usize },
2143 4usize,
2144 concat!(
2145 "Offset of field: ",
2146 stringify!(rb_method_entry_struct),
2147 "::",
2148 stringify!(mark)
2149 )
2150 );
2151 assert_eq!(
2152 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).def as *const _ as usize },
2153 8usize,
2154 concat!(
2155 "Offset of field: ",
2156 stringify!(rb_method_entry_struct),
2157 "::",
2158 stringify!(def)
2159 )
2160 );
2161 assert_eq!(
2162 unsafe {
2163 &(*(::std::ptr::null::<rb_method_entry_struct>())).called_id as *const _ as usize
2164 },
2165 16usize,
2166 concat!(
2167 "Offset of field: ",
2168 stringify!(rb_method_entry_struct),
2169 "::",
2170 stringify!(called_id)
2171 )
2172 );
2173 assert_eq!(
2174 unsafe { &(*(::std::ptr::null::<rb_method_entry_struct>())).klass as *const _ as usize },
2175 24usize,
2176 concat!(
2177 "Offset of field: ",
2178 stringify!(rb_method_entry_struct),
2179 "::",
2180 stringify!(klass)
2181 )
2182 );
2183}
2184pub type rb_method_entry_t = rb_method_entry_struct;
2185#[repr(C)]
2186#[derive(Debug, Copy, Clone)]
2187pub struct unlinked_method_entry_list_entry {
2188 pub next: *mut unlinked_method_entry_list_entry,
2189 pub me: *mut rb_method_entry_t,
2190}
2191#[test]
2192fn bindgen_test_layout_unlinked_method_entry_list_entry() {
2193 assert_eq!(
2194 ::std::mem::size_of::<unlinked_method_entry_list_entry>(),
2195 16usize,
2196 concat!("Size of: ", stringify!(unlinked_method_entry_list_entry))
2197 );
2198 assert_eq!(
2199 ::std::mem::align_of::<unlinked_method_entry_list_entry>(),
2200 8usize,
2201 concat!(
2202 "Alignment of ",
2203 stringify!(unlinked_method_entry_list_entry)
2204 )
2205 );
2206 assert_eq!(
2207 unsafe {
2208 &(*(::std::ptr::null::<unlinked_method_entry_list_entry>())).next as *const _ as usize
2209 },
2210 0usize,
2211 concat!(
2212 "Offset of field: ",
2213 stringify!(unlinked_method_entry_list_entry),
2214 "::",
2215 stringify!(next)
2216 )
2217 );
2218 assert_eq!(
2219 unsafe {
2220 &(*(::std::ptr::null::<unlinked_method_entry_list_entry>())).me as *const _ as usize
2221 },
2222 8usize,
2223 concat!(
2224 "Offset of field: ",
2225 stringify!(unlinked_method_entry_list_entry),
2226 "::",
2227 stringify!(me)
2228 )
2229 );
2230}
2231pub type rb_atomic_t = ::std::os::raw::c_uint;
2232pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
2233pub type rb_thread_id_t = pthread_t;
2234pub type rb_thread_lock_t = pthread_mutex_t;
2235#[repr(C)]
2236#[derive(Copy, Clone)]
2237pub struct rb_thread_cond_struct {
2238 pub cond: pthread_cond_t,
2239 pub clockid: clockid_t,
2240}
2241#[test]
2242fn bindgen_test_layout_rb_thread_cond_struct() {
2243 assert_eq!(
2244 ::std::mem::size_of::<rb_thread_cond_struct>(),
2245 56usize,
2246 concat!("Size of: ", stringify!(rb_thread_cond_struct))
2247 );
2248 assert_eq!(
2249 ::std::mem::align_of::<rb_thread_cond_struct>(),
2250 8usize,
2251 concat!("Alignment of ", stringify!(rb_thread_cond_struct))
2252 );
2253 assert_eq!(
2254 unsafe { &(*(::std::ptr::null::<rb_thread_cond_struct>())).cond as *const _ as usize },
2255 0usize,
2256 concat!(
2257 "Offset of field: ",
2258 stringify!(rb_thread_cond_struct),
2259 "::",
2260 stringify!(cond)
2261 )
2262 );
2263 assert_eq!(
2264 unsafe { &(*(::std::ptr::null::<rb_thread_cond_struct>())).clockid as *const _ as usize },
2265 48usize,
2266 concat!(
2267 "Offset of field: ",
2268 stringify!(rb_thread_cond_struct),
2269 "::",
2270 stringify!(clockid)
2271 )
2272 );
2273}
2274impl ::std::fmt::Debug for rb_thread_cond_struct {
2275 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2276 write!(
2277 f,
2278 "rb_thread_cond_struct {{ cond: {:?}, clockid: {:?} }}",
2279 self.cond, self.clockid
2280 )
2281 }
2282}
2283pub type rb_thread_cond_t = rb_thread_cond_struct;
2284#[repr(C)]
2285#[derive(Copy, Clone)]
2286pub struct native_thread_data_struct {
2287 pub signal_thread_list: *mut ::std::os::raw::c_void,
2288 pub sleep_cond: rb_thread_cond_t,
2289}
2290#[test]
2291fn bindgen_test_layout_native_thread_data_struct() {
2292 assert_eq!(
2293 ::std::mem::size_of::<native_thread_data_struct>(),
2294 64usize,
2295 concat!("Size of: ", stringify!(native_thread_data_struct))
2296 );
2297 assert_eq!(
2298 ::std::mem::align_of::<native_thread_data_struct>(),
2299 8usize,
2300 concat!("Alignment of ", stringify!(native_thread_data_struct))
2301 );
2302 assert_eq!(
2303 unsafe {
2304 &(*(::std::ptr::null::<native_thread_data_struct>())).signal_thread_list as *const _
2305 as usize
2306 },
2307 0usize,
2308 concat!(
2309 "Offset of field: ",
2310 stringify!(native_thread_data_struct),
2311 "::",
2312 stringify!(signal_thread_list)
2313 )
2314 );
2315 assert_eq!(
2316 unsafe {
2317 &(*(::std::ptr::null::<native_thread_data_struct>())).sleep_cond as *const _ as usize
2318 },
2319 8usize,
2320 concat!(
2321 "Offset of field: ",
2322 stringify!(native_thread_data_struct),
2323 "::",
2324 stringify!(sleep_cond)
2325 )
2326 );
2327}
2328impl ::std::fmt::Debug for native_thread_data_struct {
2329 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2330 write!(
2331 f,
2332 "native_thread_data_struct {{ signal_thread_list: {:?}, sleep_cond: {:?} }}",
2333 self.signal_thread_list, self.sleep_cond
2334 )
2335 }
2336}
2337pub type native_thread_data_t = native_thread_data_struct;
2338#[repr(C)]
2339#[derive(Copy, Clone)]
2340pub struct rb_global_vm_lock_struct {
2341 pub acquired: ::std::os::raw::c_ulong,
2342 pub lock: pthread_mutex_t,
2343 pub waiting: ::std::os::raw::c_ulong,
2344 pub cond: rb_thread_cond_t,
2345 pub switch_cond: rb_thread_cond_t,
2346 pub switch_wait_cond: rb_thread_cond_t,
2347 pub need_yield: ::std::os::raw::c_int,
2348 pub wait_yield: ::std::os::raw::c_int,
2349}
2350#[test]
2351fn bindgen_test_layout_rb_global_vm_lock_struct() {
2352 assert_eq!(
2353 ::std::mem::size_of::<rb_global_vm_lock_struct>(),
2354 232usize,
2355 concat!("Size of: ", stringify!(rb_global_vm_lock_struct))
2356 );
2357 assert_eq!(
2358 ::std::mem::align_of::<rb_global_vm_lock_struct>(),
2359 8usize,
2360 concat!("Alignment of ", stringify!(rb_global_vm_lock_struct))
2361 );
2362 assert_eq!(
2363 unsafe {
2364 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).acquired as *const _ as usize
2365 },
2366 0usize,
2367 concat!(
2368 "Offset of field: ",
2369 stringify!(rb_global_vm_lock_struct),
2370 "::",
2371 stringify!(acquired)
2372 )
2373 );
2374 assert_eq!(
2375 unsafe { &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).lock as *const _ as usize },
2376 8usize,
2377 concat!(
2378 "Offset of field: ",
2379 stringify!(rb_global_vm_lock_struct),
2380 "::",
2381 stringify!(lock)
2382 )
2383 );
2384 assert_eq!(
2385 unsafe {
2386 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).waiting as *const _ as usize
2387 },
2388 48usize,
2389 concat!(
2390 "Offset of field: ",
2391 stringify!(rb_global_vm_lock_struct),
2392 "::",
2393 stringify!(waiting)
2394 )
2395 );
2396 assert_eq!(
2397 unsafe { &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).cond as *const _ as usize },
2398 56usize,
2399 concat!(
2400 "Offset of field: ",
2401 stringify!(rb_global_vm_lock_struct),
2402 "::",
2403 stringify!(cond)
2404 )
2405 );
2406 assert_eq!(
2407 unsafe {
2408 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).switch_cond as *const _ as usize
2409 },
2410 112usize,
2411 concat!(
2412 "Offset of field: ",
2413 stringify!(rb_global_vm_lock_struct),
2414 "::",
2415 stringify!(switch_cond)
2416 )
2417 );
2418 assert_eq!(
2419 unsafe {
2420 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).switch_wait_cond as *const _
2421 as usize
2422 },
2423 168usize,
2424 concat!(
2425 "Offset of field: ",
2426 stringify!(rb_global_vm_lock_struct),
2427 "::",
2428 stringify!(switch_wait_cond)
2429 )
2430 );
2431 assert_eq!(
2432 unsafe {
2433 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).need_yield as *const _ as usize
2434 },
2435 224usize,
2436 concat!(
2437 "Offset of field: ",
2438 stringify!(rb_global_vm_lock_struct),
2439 "::",
2440 stringify!(need_yield)
2441 )
2442 );
2443 assert_eq!(
2444 unsafe {
2445 &(*(::std::ptr::null::<rb_global_vm_lock_struct>())).wait_yield as *const _ as usize
2446 },
2447 228usize,
2448 concat!(
2449 "Offset of field: ",
2450 stringify!(rb_global_vm_lock_struct),
2451 "::",
2452 stringify!(wait_yield)
2453 )
2454 );
2455}
2456impl ::std::fmt::Debug for rb_global_vm_lock_struct {
2457 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2458 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 )
2459 }
2460}
2461pub type rb_global_vm_lock_t = rb_global_vm_lock_struct;
2462#[repr(C)]
2463#[derive(Debug, Copy, Clone)]
2464pub struct __jmp_buf_tag {
2465 pub __jmpbuf: __jmp_buf,
2466 pub __mask_was_saved: ::std::os::raw::c_int,
2467 pub __saved_mask: __sigset_t,
2468}
2469#[test]
2470fn bindgen_test_layout___jmp_buf_tag() {
2471 assert_eq!(
2472 ::std::mem::size_of::<__jmp_buf_tag>(),
2473 200usize,
2474 concat!("Size of: ", stringify!(__jmp_buf_tag))
2475 );
2476 assert_eq!(
2477 ::std::mem::align_of::<__jmp_buf_tag>(),
2478 8usize,
2479 concat!("Alignment of ", stringify!(__jmp_buf_tag))
2480 );
2481 assert_eq!(
2482 unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__jmpbuf as *const _ as usize },
2483 0usize,
2484 concat!(
2485 "Offset of field: ",
2486 stringify!(__jmp_buf_tag),
2487 "::",
2488 stringify!(__jmpbuf)
2489 )
2490 );
2491 assert_eq!(
2492 unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__mask_was_saved as *const _ as usize },
2493 64usize,
2494 concat!(
2495 "Offset of field: ",
2496 stringify!(__jmp_buf_tag),
2497 "::",
2498 stringify!(__mask_was_saved)
2499 )
2500 );
2501 assert_eq!(
2502 unsafe { &(*(::std::ptr::null::<__jmp_buf_tag>())).__saved_mask as *const _ as usize },
2503 72usize,
2504 concat!(
2505 "Offset of field: ",
2506 stringify!(__jmp_buf_tag),
2507 "::",
2508 stringify!(__saved_mask)
2509 )
2510 );
2511}
2512pub type jmp_buf = [__jmp_buf_tag; 1usize];
2513pub type rb_num_t = usize;
2514#[repr(C)]
2515#[derive(Debug, Copy, Clone)]
2516pub struct iseq_compile_data_ensure_node_stack {
2517 _unused: [u8; 0],
2518}
2519pub type rb_compile_option_t = rb_compile_option_struct;
2520#[repr(C)]
2521#[derive(Copy, Clone)]
2522pub struct iseq_inline_cache_entry {
2523 pub ic_vmstat: VALUE,
2524 pub ic_class: VALUE,
2525 pub ic_value: iseq_inline_cache_entry__bindgen_ty_1,
2526}
2527#[repr(C)]
2528#[derive(Copy, Clone)]
2529pub union iseq_inline_cache_entry__bindgen_ty_1 {
2530 pub value: VALUE,
2531 pub index: ::std::os::raw::c_long,
2532 _bindgen_union_align: u64,
2533}
2534#[test]
2535fn bindgen_test_layout_iseq_inline_cache_entry__bindgen_ty_1() {
2536 assert_eq!(
2537 ::std::mem::size_of::<iseq_inline_cache_entry__bindgen_ty_1>(),
2538 8usize,
2539 concat!(
2540 "Size of: ",
2541 stringify!(iseq_inline_cache_entry__bindgen_ty_1)
2542 )
2543 );
2544 assert_eq!(
2545 ::std::mem::align_of::<iseq_inline_cache_entry__bindgen_ty_1>(),
2546 8usize,
2547 concat!(
2548 "Alignment of ",
2549 stringify!(iseq_inline_cache_entry__bindgen_ty_1)
2550 )
2551 );
2552 assert_eq!(
2553 unsafe {
2554 &(*(::std::ptr::null::<iseq_inline_cache_entry__bindgen_ty_1>())).value as *const _
2555 as usize
2556 },
2557 0usize,
2558 concat!(
2559 "Offset of field: ",
2560 stringify!(iseq_inline_cache_entry__bindgen_ty_1),
2561 "::",
2562 stringify!(value)
2563 )
2564 );
2565 assert_eq!(
2566 unsafe {
2567 &(*(::std::ptr::null::<iseq_inline_cache_entry__bindgen_ty_1>())).index as *const _
2568 as usize
2569 },
2570 0usize,
2571 concat!(
2572 "Offset of field: ",
2573 stringify!(iseq_inline_cache_entry__bindgen_ty_1),
2574 "::",
2575 stringify!(index)
2576 )
2577 );
2578}
2579impl ::std::fmt::Debug for iseq_inline_cache_entry__bindgen_ty_1 {
2580 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2581 write!(f, "iseq_inline_cache_entry__bindgen_ty_1 {{ union }}")
2582 }
2583}
2584#[test]
2585fn bindgen_test_layout_iseq_inline_cache_entry() {
2586 assert_eq!(
2587 ::std::mem::size_of::<iseq_inline_cache_entry>(),
2588 24usize,
2589 concat!("Size of: ", stringify!(iseq_inline_cache_entry))
2590 );
2591 assert_eq!(
2592 ::std::mem::align_of::<iseq_inline_cache_entry>(),
2593 8usize,
2594 concat!("Alignment of ", stringify!(iseq_inline_cache_entry))
2595 );
2596 assert_eq!(
2597 unsafe {
2598 &(*(::std::ptr::null::<iseq_inline_cache_entry>())).ic_vmstat as *const _ as usize
2599 },
2600 0usize,
2601 concat!(
2602 "Offset of field: ",
2603 stringify!(iseq_inline_cache_entry),
2604 "::",
2605 stringify!(ic_vmstat)
2606 )
2607 );
2608 assert_eq!(
2609 unsafe {
2610 &(*(::std::ptr::null::<iseq_inline_cache_entry>())).ic_class as *const _ as usize
2611 },
2612 8usize,
2613 concat!(
2614 "Offset of field: ",
2615 stringify!(iseq_inline_cache_entry),
2616 "::",
2617 stringify!(ic_class)
2618 )
2619 );
2620 assert_eq!(
2621 unsafe {
2622 &(*(::std::ptr::null::<iseq_inline_cache_entry>())).ic_value as *const _ as usize
2623 },
2624 16usize,
2625 concat!(
2626 "Offset of field: ",
2627 stringify!(iseq_inline_cache_entry),
2628 "::",
2629 stringify!(ic_value)
2630 )
2631 );
2632}
2633impl ::std::fmt::Debug for iseq_inline_cache_entry {
2634 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2635 write!(
2636 f,
2637 "iseq_inline_cache_entry {{ ic_vmstat: {:?}, ic_class: {:?}, ic_value: {:?} }}",
2638 self.ic_vmstat, self.ic_class, self.ic_value
2639 )
2640 }
2641}
2642#[repr(C)]
2643#[derive(Copy, Clone)]
2644pub struct rb_call_info_struct {
2645 pub mid: ID,
2646 pub flag: VALUE,
2647 pub orig_argc: ::std::os::raw::c_int,
2648 pub blockiseq: *mut rb_iseq_t,
2649 pub vmstat: VALUE,
2650 pub klass: VALUE,
2651 pub me: *const rb_method_entry_t,
2652 pub defined_class: VALUE,
2653 pub argc: ::std::os::raw::c_int,
2654 pub blockptr: *mut rb_block_struct,
2655 pub recv: VALUE,
2656 pub aux: rb_call_info_struct__bindgen_ty_1,
2657 pub call: ::std::option::Option<
2658 unsafe extern "C" fn(
2659 th: *mut rb_thread_struct,
2660 cfp: *mut rb_control_frame_struct,
2661 ci: *mut rb_call_info_struct,
2662 ) -> VALUE,
2663 >,
2664}
2665#[repr(C)]
2666#[derive(Copy, Clone)]
2667pub union rb_call_info_struct__bindgen_ty_1 {
2668 pub opt_pc: ::std::os::raw::c_int,
2669 pub index: ::std::os::raw::c_long,
2670 pub missing_reason: ::std::os::raw::c_int,
2671 pub inc_sp: ::std::os::raw::c_int,
2672 _bindgen_union_align: u64,
2673}
2674#[test]
2675fn bindgen_test_layout_rb_call_info_struct__bindgen_ty_1() {
2676 assert_eq!(
2677 ::std::mem::size_of::<rb_call_info_struct__bindgen_ty_1>(),
2678 8usize,
2679 concat!("Size of: ", stringify!(rb_call_info_struct__bindgen_ty_1))
2680 );
2681 assert_eq!(
2682 ::std::mem::align_of::<rb_call_info_struct__bindgen_ty_1>(),
2683 8usize,
2684 concat!(
2685 "Alignment of ",
2686 stringify!(rb_call_info_struct__bindgen_ty_1)
2687 )
2688 );
2689 assert_eq!(
2690 unsafe {
2691 &(*(::std::ptr::null::<rb_call_info_struct__bindgen_ty_1>())).opt_pc as *const _
2692 as usize
2693 },
2694 0usize,
2695 concat!(
2696 "Offset of field: ",
2697 stringify!(rb_call_info_struct__bindgen_ty_1),
2698 "::",
2699 stringify!(opt_pc)
2700 )
2701 );
2702 assert_eq!(
2703 unsafe {
2704 &(*(::std::ptr::null::<rb_call_info_struct__bindgen_ty_1>())).index as *const _ as usize
2705 },
2706 0usize,
2707 concat!(
2708 "Offset of field: ",
2709 stringify!(rb_call_info_struct__bindgen_ty_1),
2710 "::",
2711 stringify!(index)
2712 )
2713 );
2714 assert_eq!(
2715 unsafe {
2716 &(*(::std::ptr::null::<rb_call_info_struct__bindgen_ty_1>())).missing_reason as *const _
2717 as usize
2718 },
2719 0usize,
2720 concat!(
2721 "Offset of field: ",
2722 stringify!(rb_call_info_struct__bindgen_ty_1),
2723 "::",
2724 stringify!(missing_reason)
2725 )
2726 );
2727 assert_eq!(
2728 unsafe {
2729 &(*(::std::ptr::null::<rb_call_info_struct__bindgen_ty_1>())).inc_sp as *const _
2730 as usize
2731 },
2732 0usize,
2733 concat!(
2734 "Offset of field: ",
2735 stringify!(rb_call_info_struct__bindgen_ty_1),
2736 "::",
2737 stringify!(inc_sp)
2738 )
2739 );
2740}
2741impl ::std::fmt::Debug for rb_call_info_struct__bindgen_ty_1 {
2742 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2743 write!(f, "rb_call_info_struct__bindgen_ty_1 {{ union }}")
2744 }
2745}
2746#[test]
2747fn bindgen_test_layout_rb_call_info_struct() {
2748 assert_eq!(
2749 ::std::mem::size_of::<rb_call_info_struct>(),
2750 104usize,
2751 concat!("Size of: ", stringify!(rb_call_info_struct))
2752 );
2753 assert_eq!(
2754 ::std::mem::align_of::<rb_call_info_struct>(),
2755 8usize,
2756 concat!("Alignment of ", stringify!(rb_call_info_struct))
2757 );
2758 assert_eq!(
2759 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).mid as *const _ as usize },
2760 0usize,
2761 concat!(
2762 "Offset of field: ",
2763 stringify!(rb_call_info_struct),
2764 "::",
2765 stringify!(mid)
2766 )
2767 );
2768 assert_eq!(
2769 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).flag as *const _ as usize },
2770 8usize,
2771 concat!(
2772 "Offset of field: ",
2773 stringify!(rb_call_info_struct),
2774 "::",
2775 stringify!(flag)
2776 )
2777 );
2778 assert_eq!(
2779 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).orig_argc as *const _ as usize },
2780 16usize,
2781 concat!(
2782 "Offset of field: ",
2783 stringify!(rb_call_info_struct),
2784 "::",
2785 stringify!(orig_argc)
2786 )
2787 );
2788 assert_eq!(
2789 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).blockiseq as *const _ as usize },
2790 24usize,
2791 concat!(
2792 "Offset of field: ",
2793 stringify!(rb_call_info_struct),
2794 "::",
2795 stringify!(blockiseq)
2796 )
2797 );
2798 assert_eq!(
2799 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).vmstat as *const _ as usize },
2800 32usize,
2801 concat!(
2802 "Offset of field: ",
2803 stringify!(rb_call_info_struct),
2804 "::",
2805 stringify!(vmstat)
2806 )
2807 );
2808 assert_eq!(
2809 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).klass as *const _ as usize },
2810 40usize,
2811 concat!(
2812 "Offset of field: ",
2813 stringify!(rb_call_info_struct),
2814 "::",
2815 stringify!(klass)
2816 )
2817 );
2818 assert_eq!(
2819 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).me as *const _ as usize },
2820 48usize,
2821 concat!(
2822 "Offset of field: ",
2823 stringify!(rb_call_info_struct),
2824 "::",
2825 stringify!(me)
2826 )
2827 );
2828 assert_eq!(
2829 unsafe {
2830 &(*(::std::ptr::null::<rb_call_info_struct>())).defined_class as *const _ as usize
2831 },
2832 56usize,
2833 concat!(
2834 "Offset of field: ",
2835 stringify!(rb_call_info_struct),
2836 "::",
2837 stringify!(defined_class)
2838 )
2839 );
2840 assert_eq!(
2841 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).argc as *const _ as usize },
2842 64usize,
2843 concat!(
2844 "Offset of field: ",
2845 stringify!(rb_call_info_struct),
2846 "::",
2847 stringify!(argc)
2848 )
2849 );
2850 assert_eq!(
2851 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).blockptr as *const _ as usize },
2852 72usize,
2853 concat!(
2854 "Offset of field: ",
2855 stringify!(rb_call_info_struct),
2856 "::",
2857 stringify!(blockptr)
2858 )
2859 );
2860 assert_eq!(
2861 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).recv as *const _ as usize },
2862 80usize,
2863 concat!(
2864 "Offset of field: ",
2865 stringify!(rb_call_info_struct),
2866 "::",
2867 stringify!(recv)
2868 )
2869 );
2870 assert_eq!(
2871 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).aux as *const _ as usize },
2872 88usize,
2873 concat!(
2874 "Offset of field: ",
2875 stringify!(rb_call_info_struct),
2876 "::",
2877 stringify!(aux)
2878 )
2879 );
2880 assert_eq!(
2881 unsafe { &(*(::std::ptr::null::<rb_call_info_struct>())).call as *const _ as usize },
2882 96usize,
2883 concat!(
2884 "Offset of field: ",
2885 stringify!(rb_call_info_struct),
2886 "::",
2887 stringify!(call)
2888 )
2889 );
2890}
2891impl ::std::fmt::Debug for rb_call_info_struct {
2892 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2893 write ! ( f , "rb_call_info_struct {{ mid: {:?}, flag: {:?}, orig_argc: {:?}, blockiseq: {:?}, vmstat: {:?}, klass: {:?}, me: {:?}, defined_class: {:?}, argc: {:?}, blockptr: {:?}, recv: {:?}, aux: {:?}, call: {:?} }}" , self . mid , self . flag , self . orig_argc , self . blockiseq , self . vmstat , self . klass , self . me , self . defined_class , self . argc , self . blockptr , self . recv , self . aux , self . call )
2894 }
2895}
2896pub type rb_call_info_t = rb_call_info_struct;
2897#[repr(C)]
2898#[derive(Debug, Copy, Clone)]
2899pub struct rb_iseq_location_struct {
2900 pub path: VALUE,
2901 pub absolute_path: VALUE,
2902 pub base_label: VALUE,
2903 pub label: VALUE,
2904 pub first_lineno: usize,
2905}
2906#[test]
2907fn bindgen_test_layout_rb_iseq_location_struct() {
2908 assert_eq!(
2909 ::std::mem::size_of::<rb_iseq_location_struct>(),
2910 40usize,
2911 concat!("Size of: ", stringify!(rb_iseq_location_struct))
2912 );
2913 assert_eq!(
2914 ::std::mem::align_of::<rb_iseq_location_struct>(),
2915 8usize,
2916 concat!("Alignment of ", stringify!(rb_iseq_location_struct))
2917 );
2918 assert_eq!(
2919 unsafe { &(*(::std::ptr::null::<rb_iseq_location_struct>())).path as *const _ as usize },
2920 0usize,
2921 concat!(
2922 "Offset of field: ",
2923 stringify!(rb_iseq_location_struct),
2924 "::",
2925 stringify!(path)
2926 )
2927 );
2928 assert_eq!(
2929 unsafe {
2930 &(*(::std::ptr::null::<rb_iseq_location_struct>())).absolute_path as *const _ as usize
2931 },
2932 8usize,
2933 concat!(
2934 "Offset of field: ",
2935 stringify!(rb_iseq_location_struct),
2936 "::",
2937 stringify!(absolute_path)
2938 )
2939 );
2940 assert_eq!(
2941 unsafe {
2942 &(*(::std::ptr::null::<rb_iseq_location_struct>())).base_label as *const _ as usize
2943 },
2944 16usize,
2945 concat!(
2946 "Offset of field: ",
2947 stringify!(rb_iseq_location_struct),
2948 "::",
2949 stringify!(base_label)
2950 )
2951 );
2952 assert_eq!(
2953 unsafe { &(*(::std::ptr::null::<rb_iseq_location_struct>())).label as *const _ as usize },
2954 24usize,
2955 concat!(
2956 "Offset of field: ",
2957 stringify!(rb_iseq_location_struct),
2958 "::",
2959 stringify!(label)
2960 )
2961 );
2962 assert_eq!(
2963 unsafe {
2964 &(*(::std::ptr::null::<rb_iseq_location_struct>())).first_lineno as *const _ as usize
2965 },
2966 32usize,
2967 concat!(
2968 "Offset of field: ",
2969 stringify!(rb_iseq_location_struct),
2970 "::",
2971 stringify!(first_lineno)
2972 )
2973 );
2974}
2975pub type rb_iseq_location_t = rb_iseq_location_struct;
2976#[repr(C)]
2977#[derive(Debug, Copy, Clone)]
2978pub struct rb_iseq_struct {
2979 pub type_: rb_iseq_struct_iseq_type,
2980 pub location: rb_iseq_location_t,
2981 pub iseq: *mut VALUE,
2982 pub iseq_encoded: *mut VALUE,
2983 pub iseq_size: ::std::os::raw::c_ulong,
2984 pub mark_ary: VALUE,
2985 pub coverage: VALUE,
2986 pub line_info_table: *mut iseq_line_info_entry,
2987 pub line_info_size: usize,
2988 pub local_table: *mut ID,
2989 pub local_table_size: ::std::os::raw::c_int,
2990 pub local_size: ::std::os::raw::c_int,
2991 pub ic_entries: *mut iseq_inline_cache_entry,
2992 pub ic_size: ::std::os::raw::c_int,
2993 pub callinfo_entries: *mut rb_call_info_t,
2994 pub callinfo_size: ::std::os::raw::c_int,
2995 pub argc: ::std::os::raw::c_int,
2996 pub arg_simple: ::std::os::raw::c_int,
2997 pub arg_rest: ::std::os::raw::c_int,
2998 pub arg_block: ::std::os::raw::c_int,
2999 pub arg_opts: ::std::os::raw::c_int,
3000 pub arg_post_len: ::std::os::raw::c_int,
3001 pub arg_post_start: ::std::os::raw::c_int,
3002 pub arg_size: ::std::os::raw::c_int,
3003 pub arg_opt_table: *mut VALUE,
3004 pub arg_keyword: ::std::os::raw::c_int,
3005 pub arg_keyword_check: ::std::os::raw::c_int,
3006 pub arg_keywords: ::std::os::raw::c_int,
3007 pub arg_keyword_table: *mut ID,
3008 pub stack_max: usize,
3009 pub catch_table: *mut iseq_catch_table_entry,
3010 pub catch_table_size: ::std::os::raw::c_int,
3011 pub parent_iseq: *mut rb_iseq_struct,
3012 pub local_iseq: *mut rb_iseq_struct,
3013 pub self_: VALUE,
3014 pub orig: VALUE,
3015 pub cref_stack: *mut NODE,
3016 pub klass: VALUE,
3017 pub defined_method_id: ID,
3018 pub flip_cnt: rb_num_t,
3019 pub compile_data: *mut iseq_compile_data,
3020}
3021pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_TOP: rb_iseq_struct_iseq_type = 0;
3022pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_METHOD: rb_iseq_struct_iseq_type = 1;
3023pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_BLOCK: rb_iseq_struct_iseq_type = 2;
3024pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_CLASS: rb_iseq_struct_iseq_type = 3;
3025pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_RESCUE: rb_iseq_struct_iseq_type = 4;
3026pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_ENSURE: rb_iseq_struct_iseq_type = 5;
3027pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_EVAL: rb_iseq_struct_iseq_type = 6;
3028pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_MAIN: rb_iseq_struct_iseq_type = 7;
3029pub const rb_iseq_struct_iseq_type_ISEQ_TYPE_DEFINED_GUARD: rb_iseq_struct_iseq_type = 8;
3030pub type rb_iseq_struct_iseq_type = ::std::os::raw::c_uint;
3031#[test]
3032fn bindgen_test_layout_rb_iseq_struct() {
3033 assert_eq!(
3034 ::std::mem::size_of::<rb_iseq_struct>(),
3035 312usize,
3036 concat!("Size of: ", stringify!(rb_iseq_struct))
3037 );
3038 assert_eq!(
3039 ::std::mem::align_of::<rb_iseq_struct>(),
3040 8usize,
3041 concat!("Alignment of ", stringify!(rb_iseq_struct))
3042 );
3043 assert_eq!(
3044 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).type_ as *const _ as usize },
3045 0usize,
3046 concat!(
3047 "Offset of field: ",
3048 stringify!(rb_iseq_struct),
3049 "::",
3050 stringify!(type_)
3051 )
3052 );
3053 assert_eq!(
3054 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).location as *const _ as usize },
3055 8usize,
3056 concat!(
3057 "Offset of field: ",
3058 stringify!(rb_iseq_struct),
3059 "::",
3060 stringify!(location)
3061 )
3062 );
3063 assert_eq!(
3064 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).iseq as *const _ as usize },
3065 48usize,
3066 concat!(
3067 "Offset of field: ",
3068 stringify!(rb_iseq_struct),
3069 "::",
3070 stringify!(iseq)
3071 )
3072 );
3073 assert_eq!(
3074 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).iseq_encoded as *const _ as usize },
3075 56usize,
3076 concat!(
3077 "Offset of field: ",
3078 stringify!(rb_iseq_struct),
3079 "::",
3080 stringify!(iseq_encoded)
3081 )
3082 );
3083 assert_eq!(
3084 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).iseq_size as *const _ as usize },
3085 64usize,
3086 concat!(
3087 "Offset of field: ",
3088 stringify!(rb_iseq_struct),
3089 "::",
3090 stringify!(iseq_size)
3091 )
3092 );
3093 assert_eq!(
3094 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).mark_ary as *const _ as usize },
3095 72usize,
3096 concat!(
3097 "Offset of field: ",
3098 stringify!(rb_iseq_struct),
3099 "::",
3100 stringify!(mark_ary)
3101 )
3102 );
3103 assert_eq!(
3104 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).coverage as *const _ as usize },
3105 80usize,
3106 concat!(
3107 "Offset of field: ",
3108 stringify!(rb_iseq_struct),
3109 "::",
3110 stringify!(coverage)
3111 )
3112 );
3113 assert_eq!(
3114 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).line_info_table as *const _ as usize },
3115 88usize,
3116 concat!(
3117 "Offset of field: ",
3118 stringify!(rb_iseq_struct),
3119 "::",
3120 stringify!(line_info_table)
3121 )
3122 );
3123 assert_eq!(
3124 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).line_info_size as *const _ as usize },
3125 96usize,
3126 concat!(
3127 "Offset of field: ",
3128 stringify!(rb_iseq_struct),
3129 "::",
3130 stringify!(line_info_size)
3131 )
3132 );
3133 assert_eq!(
3134 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_table as *const _ as usize },
3135 104usize,
3136 concat!(
3137 "Offset of field: ",
3138 stringify!(rb_iseq_struct),
3139 "::",
3140 stringify!(local_table)
3141 )
3142 );
3143 assert_eq!(
3144 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_table_size as *const _ as usize },
3145 112usize,
3146 concat!(
3147 "Offset of field: ",
3148 stringify!(rb_iseq_struct),
3149 "::",
3150 stringify!(local_table_size)
3151 )
3152 );
3153 assert_eq!(
3154 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_size as *const _ as usize },
3155 116usize,
3156 concat!(
3157 "Offset of field: ",
3158 stringify!(rb_iseq_struct),
3159 "::",
3160 stringify!(local_size)
3161 )
3162 );
3163 assert_eq!(
3164 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).ic_entries as *const _ as usize },
3165 120usize,
3166 concat!(
3167 "Offset of field: ",
3168 stringify!(rb_iseq_struct),
3169 "::",
3170 stringify!(ic_entries)
3171 )
3172 );
3173 assert_eq!(
3174 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).ic_size as *const _ as usize },
3175 128usize,
3176 concat!(
3177 "Offset of field: ",
3178 stringify!(rb_iseq_struct),
3179 "::",
3180 stringify!(ic_size)
3181 )
3182 );
3183 assert_eq!(
3184 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).callinfo_entries as *const _ as usize },
3185 136usize,
3186 concat!(
3187 "Offset of field: ",
3188 stringify!(rb_iseq_struct),
3189 "::",
3190 stringify!(callinfo_entries)
3191 )
3192 );
3193 assert_eq!(
3194 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).callinfo_size as *const _ as usize },
3195 144usize,
3196 concat!(
3197 "Offset of field: ",
3198 stringify!(rb_iseq_struct),
3199 "::",
3200 stringify!(callinfo_size)
3201 )
3202 );
3203 assert_eq!(
3204 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).argc as *const _ as usize },
3205 148usize,
3206 concat!(
3207 "Offset of field: ",
3208 stringify!(rb_iseq_struct),
3209 "::",
3210 stringify!(argc)
3211 )
3212 );
3213 assert_eq!(
3214 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_simple as *const _ as usize },
3215 152usize,
3216 concat!(
3217 "Offset of field: ",
3218 stringify!(rb_iseq_struct),
3219 "::",
3220 stringify!(arg_simple)
3221 )
3222 );
3223 assert_eq!(
3224 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_rest as *const _ as usize },
3225 156usize,
3226 concat!(
3227 "Offset of field: ",
3228 stringify!(rb_iseq_struct),
3229 "::",
3230 stringify!(arg_rest)
3231 )
3232 );
3233 assert_eq!(
3234 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_block as *const _ as usize },
3235 160usize,
3236 concat!(
3237 "Offset of field: ",
3238 stringify!(rb_iseq_struct),
3239 "::",
3240 stringify!(arg_block)
3241 )
3242 );
3243 assert_eq!(
3244 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_opts as *const _ as usize },
3245 164usize,
3246 concat!(
3247 "Offset of field: ",
3248 stringify!(rb_iseq_struct),
3249 "::",
3250 stringify!(arg_opts)
3251 )
3252 );
3253 assert_eq!(
3254 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_post_len as *const _ as usize },
3255 168usize,
3256 concat!(
3257 "Offset of field: ",
3258 stringify!(rb_iseq_struct),
3259 "::",
3260 stringify!(arg_post_len)
3261 )
3262 );
3263 assert_eq!(
3264 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_post_start as *const _ as usize },
3265 172usize,
3266 concat!(
3267 "Offset of field: ",
3268 stringify!(rb_iseq_struct),
3269 "::",
3270 stringify!(arg_post_start)
3271 )
3272 );
3273 assert_eq!(
3274 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_size as *const _ as usize },
3275 176usize,
3276 concat!(
3277 "Offset of field: ",
3278 stringify!(rb_iseq_struct),
3279 "::",
3280 stringify!(arg_size)
3281 )
3282 );
3283 assert_eq!(
3284 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_opt_table as *const _ as usize },
3285 184usize,
3286 concat!(
3287 "Offset of field: ",
3288 stringify!(rb_iseq_struct),
3289 "::",
3290 stringify!(arg_opt_table)
3291 )
3292 );
3293 assert_eq!(
3294 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_keyword as *const _ as usize },
3295 192usize,
3296 concat!(
3297 "Offset of field: ",
3298 stringify!(rb_iseq_struct),
3299 "::",
3300 stringify!(arg_keyword)
3301 )
3302 );
3303 assert_eq!(
3304 unsafe {
3305 &(*(::std::ptr::null::<rb_iseq_struct>())).arg_keyword_check as *const _ as usize
3306 },
3307 196usize,
3308 concat!(
3309 "Offset of field: ",
3310 stringify!(rb_iseq_struct),
3311 "::",
3312 stringify!(arg_keyword_check)
3313 )
3314 );
3315 assert_eq!(
3316 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).arg_keywords as *const _ as usize },
3317 200usize,
3318 concat!(
3319 "Offset of field: ",
3320 stringify!(rb_iseq_struct),
3321 "::",
3322 stringify!(arg_keywords)
3323 )
3324 );
3325 assert_eq!(
3326 unsafe {
3327 &(*(::std::ptr::null::<rb_iseq_struct>())).arg_keyword_table as *const _ as usize
3328 },
3329 208usize,
3330 concat!(
3331 "Offset of field: ",
3332 stringify!(rb_iseq_struct),
3333 "::",
3334 stringify!(arg_keyword_table)
3335 )
3336 );
3337 assert_eq!(
3338 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).stack_max as *const _ as usize },
3339 216usize,
3340 concat!(
3341 "Offset of field: ",
3342 stringify!(rb_iseq_struct),
3343 "::",
3344 stringify!(stack_max)
3345 )
3346 );
3347 assert_eq!(
3348 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).catch_table as *const _ as usize },
3349 224usize,
3350 concat!(
3351 "Offset of field: ",
3352 stringify!(rb_iseq_struct),
3353 "::",
3354 stringify!(catch_table)
3355 )
3356 );
3357 assert_eq!(
3358 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).catch_table_size as *const _ as usize },
3359 232usize,
3360 concat!(
3361 "Offset of field: ",
3362 stringify!(rb_iseq_struct),
3363 "::",
3364 stringify!(catch_table_size)
3365 )
3366 );
3367 assert_eq!(
3368 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).parent_iseq as *const _ as usize },
3369 240usize,
3370 concat!(
3371 "Offset of field: ",
3372 stringify!(rb_iseq_struct),
3373 "::",
3374 stringify!(parent_iseq)
3375 )
3376 );
3377 assert_eq!(
3378 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).local_iseq as *const _ as usize },
3379 248usize,
3380 concat!(
3381 "Offset of field: ",
3382 stringify!(rb_iseq_struct),
3383 "::",
3384 stringify!(local_iseq)
3385 )
3386 );
3387 assert_eq!(
3388 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).self_ as *const _ as usize },
3389 256usize,
3390 concat!(
3391 "Offset of field: ",
3392 stringify!(rb_iseq_struct),
3393 "::",
3394 stringify!(self_)
3395 )
3396 );
3397 assert_eq!(
3398 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).orig as *const _ as usize },
3399 264usize,
3400 concat!(
3401 "Offset of field: ",
3402 stringify!(rb_iseq_struct),
3403 "::",
3404 stringify!(orig)
3405 )
3406 );
3407 assert_eq!(
3408 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).cref_stack as *const _ as usize },
3409 272usize,
3410 concat!(
3411 "Offset of field: ",
3412 stringify!(rb_iseq_struct),
3413 "::",
3414 stringify!(cref_stack)
3415 )
3416 );
3417 assert_eq!(
3418 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).klass as *const _ as usize },
3419 280usize,
3420 concat!(
3421 "Offset of field: ",
3422 stringify!(rb_iseq_struct),
3423 "::",
3424 stringify!(klass)
3425 )
3426 );
3427 assert_eq!(
3428 unsafe {
3429 &(*(::std::ptr::null::<rb_iseq_struct>())).defined_method_id as *const _ as usize
3430 },
3431 288usize,
3432 concat!(
3433 "Offset of field: ",
3434 stringify!(rb_iseq_struct),
3435 "::",
3436 stringify!(defined_method_id)
3437 )
3438 );
3439 assert_eq!(
3440 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).flip_cnt as *const _ as usize },
3441 296usize,
3442 concat!(
3443 "Offset of field: ",
3444 stringify!(rb_iseq_struct),
3445 "::",
3446 stringify!(flip_cnt)
3447 )
3448 );
3449 assert_eq!(
3450 unsafe { &(*(::std::ptr::null::<rb_iseq_struct>())).compile_data as *const _ as usize },
3451 304usize,
3452 concat!(
3453 "Offset of field: ",
3454 stringify!(rb_iseq_struct),
3455 "::",
3456 stringify!(compile_data)
3457 )
3458 );
3459}
3460#[repr(C)]
3461#[derive(Debug, Copy, Clone)]
3462pub struct rb_objspace {
3463 _unused: [u8; 0],
3464}
3465#[repr(C)]
3466#[derive(Debug, Copy, Clone)]
3467pub struct rb_hook_list_struct {
3468 pub hooks: *mut rb_event_hook_struct,
3469 pub events: rb_event_flag_t,
3470 pub need_clean: ::std::os::raw::c_int,
3471}
3472#[test]
3473fn bindgen_test_layout_rb_hook_list_struct() {
3474 assert_eq!(
3475 ::std::mem::size_of::<rb_hook_list_struct>(),
3476 24usize,
3477 concat!("Size of: ", stringify!(rb_hook_list_struct))
3478 );
3479 assert_eq!(
3480 ::std::mem::align_of::<rb_hook_list_struct>(),
3481 8usize,
3482 concat!("Alignment of ", stringify!(rb_hook_list_struct))
3483 );
3484 assert_eq!(
3485 unsafe { &(*(::std::ptr::null::<rb_hook_list_struct>())).hooks as *const _ as usize },
3486 0usize,
3487 concat!(
3488 "Offset of field: ",
3489 stringify!(rb_hook_list_struct),
3490 "::",
3491 stringify!(hooks)
3492 )
3493 );
3494 assert_eq!(
3495 unsafe { &(*(::std::ptr::null::<rb_hook_list_struct>())).events as *const _ as usize },
3496 8usize,
3497 concat!(
3498 "Offset of field: ",
3499 stringify!(rb_hook_list_struct),
3500 "::",
3501 stringify!(events)
3502 )
3503 );
3504 assert_eq!(
3505 unsafe { &(*(::std::ptr::null::<rb_hook_list_struct>())).need_clean as *const _ as usize },
3506 16usize,
3507 concat!(
3508 "Offset of field: ",
3509 stringify!(rb_hook_list_struct),
3510 "::",
3511 stringify!(need_clean)
3512 )
3513 );
3514}
3515pub type rb_hook_list_t = rb_hook_list_struct;
3516#[repr(C)]
3517#[derive(Copy, Clone)]
3518pub struct rb_vm_struct {
3519 pub self_: VALUE,
3520 pub gvl: rb_global_vm_lock_t,
3521 pub thread_destruct_lock: rb_thread_lock_t,
3522 pub main_thread: *mut rb_thread_struct,
3523 pub running_thread: *mut rb_thread_struct,
3524 pub living_threads: *mut st_table,
3525 pub thgroup_default: VALUE,
3526 pub running: ::std::os::raw::c_int,
3527 pub thread_abort_on_exception: ::std::os::raw::c_int,
3528 pub trace_running: ::std::os::raw::c_int,
3529 pub sleeper: ::std::os::raw::c_int,
3530 pub mark_object_ary: VALUE,
3531 pub special_exceptions: [VALUE; 4usize],
3532 pub top_self: VALUE,
3533 pub load_path: VALUE,
3534 pub load_path_snapshot: VALUE,
3535 pub load_path_check_cache: VALUE,
3536 pub expanded_load_path: VALUE,
3537 pub loaded_features: VALUE,
3538 pub loaded_features_snapshot: VALUE,
3539 pub loaded_features_index: VALUE,
3540 pub loading_table: *mut st_table,
3541 pub trap_list: [rb_vm_struct__bindgen_ty_1; 65usize],
3542 pub event_hooks: rb_hook_list_t,
3543 pub src_encoding_index: ::std::os::raw::c_int,
3544 pub verbose: VALUE,
3545 pub debug: VALUE,
3546 pub progname: VALUE,
3547 pub coverages: VALUE,
3548 pub unlinked_method_entry_list: *mut unlinked_method_entry_list_entry,
3549 pub objspace: *mut rb_objspace,
3550 pub at_exit: RArray,
3551 pub defined_strings: *mut VALUE,
3552 pub default_params: rb_vm_struct__bindgen_ty_2,
3553}
3554#[repr(C)]
3555#[derive(Debug, Copy, Clone)]
3556pub struct rb_vm_struct__bindgen_ty_1 {
3557 pub cmd: VALUE,
3558 pub safe: ::std::os::raw::c_int,
3559}
3560#[test]
3561fn bindgen_test_layout_rb_vm_struct__bindgen_ty_1() {
3562 assert_eq!(
3563 ::std::mem::size_of::<rb_vm_struct__bindgen_ty_1>(),
3564 16usize,
3565 concat!("Size of: ", stringify!(rb_vm_struct__bindgen_ty_1))
3566 );
3567 assert_eq!(
3568 ::std::mem::align_of::<rb_vm_struct__bindgen_ty_1>(),
3569 8usize,
3570 concat!("Alignment of ", stringify!(rb_vm_struct__bindgen_ty_1))
3571 );
3572 assert_eq!(
3573 unsafe { &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_1>())).cmd as *const _ as usize },
3574 0usize,
3575 concat!(
3576 "Offset of field: ",
3577 stringify!(rb_vm_struct__bindgen_ty_1),
3578 "::",
3579 stringify!(cmd)
3580 )
3581 );
3582 assert_eq!(
3583 unsafe { &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_1>())).safe as *const _ as usize },
3584 8usize,
3585 concat!(
3586 "Offset of field: ",
3587 stringify!(rb_vm_struct__bindgen_ty_1),
3588 "::",
3589 stringify!(safe)
3590 )
3591 );
3592}
3593#[repr(C)]
3594#[derive(Debug, Copy, Clone)]
3595pub struct rb_vm_struct__bindgen_ty_2 {
3596 pub thread_vm_stack_size: usize,
3597 pub thread_machine_stack_size: usize,
3598 pub fiber_vm_stack_size: usize,
3599 pub fiber_machine_stack_size: usize,
3600}
3601#[test]
3602fn bindgen_test_layout_rb_vm_struct__bindgen_ty_2() {
3603 assert_eq!(
3604 ::std::mem::size_of::<rb_vm_struct__bindgen_ty_2>(),
3605 32usize,
3606 concat!("Size of: ", stringify!(rb_vm_struct__bindgen_ty_2))
3607 );
3608 assert_eq!(
3609 ::std::mem::align_of::<rb_vm_struct__bindgen_ty_2>(),
3610 8usize,
3611 concat!("Alignment of ", stringify!(rb_vm_struct__bindgen_ty_2))
3612 );
3613 assert_eq!(
3614 unsafe {
3615 &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_2>())).thread_vm_stack_size as *const _
3616 as usize
3617 },
3618 0usize,
3619 concat!(
3620 "Offset of field: ",
3621 stringify!(rb_vm_struct__bindgen_ty_2),
3622 "::",
3623 stringify!(thread_vm_stack_size)
3624 )
3625 );
3626 assert_eq!(
3627 unsafe {
3628 &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_2>())).thread_machine_stack_size
3629 as *const _ as usize
3630 },
3631 8usize,
3632 concat!(
3633 "Offset of field: ",
3634 stringify!(rb_vm_struct__bindgen_ty_2),
3635 "::",
3636 stringify!(thread_machine_stack_size)
3637 )
3638 );
3639 assert_eq!(
3640 unsafe {
3641 &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_2>())).fiber_vm_stack_size as *const _
3642 as usize
3643 },
3644 16usize,
3645 concat!(
3646 "Offset of field: ",
3647 stringify!(rb_vm_struct__bindgen_ty_2),
3648 "::",
3649 stringify!(fiber_vm_stack_size)
3650 )
3651 );
3652 assert_eq!(
3653 unsafe {
3654 &(*(::std::ptr::null::<rb_vm_struct__bindgen_ty_2>())).fiber_machine_stack_size
3655 as *const _ as usize
3656 },
3657 24usize,
3658 concat!(
3659 "Offset of field: ",
3660 stringify!(rb_vm_struct__bindgen_ty_2),
3661 "::",
3662 stringify!(fiber_machine_stack_size)
3663 )
3664 );
3665}
3666#[test]
3667fn bindgen_test_layout_rb_vm_struct() {
3668 assert_eq!(
3669 ::std::mem::size_of::<rb_vm_struct>(),
3670 1640usize,
3671 concat!("Size of: ", stringify!(rb_vm_struct))
3672 );
3673 assert_eq!(
3674 ::std::mem::align_of::<rb_vm_struct>(),
3675 8usize,
3676 concat!("Alignment of ", stringify!(rb_vm_struct))
3677 );
3678 assert_eq!(
3679 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).self_ as *const _ as usize },
3680 0usize,
3681 concat!(
3682 "Offset of field: ",
3683 stringify!(rb_vm_struct),
3684 "::",
3685 stringify!(self_)
3686 )
3687 );
3688 assert_eq!(
3689 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).gvl as *const _ as usize },
3690 8usize,
3691 concat!(
3692 "Offset of field: ",
3693 stringify!(rb_vm_struct),
3694 "::",
3695 stringify!(gvl)
3696 )
3697 );
3698 assert_eq!(
3699 unsafe {
3700 &(*(::std::ptr::null::<rb_vm_struct>())).thread_destruct_lock as *const _ as usize
3701 },
3702 240usize,
3703 concat!(
3704 "Offset of field: ",
3705 stringify!(rb_vm_struct),
3706 "::",
3707 stringify!(thread_destruct_lock)
3708 )
3709 );
3710 assert_eq!(
3711 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).main_thread as *const _ as usize },
3712 280usize,
3713 concat!(
3714 "Offset of field: ",
3715 stringify!(rb_vm_struct),
3716 "::",
3717 stringify!(main_thread)
3718 )
3719 );
3720 assert_eq!(
3721 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).running_thread as *const _ as usize },
3722 288usize,
3723 concat!(
3724 "Offset of field: ",
3725 stringify!(rb_vm_struct),
3726 "::",
3727 stringify!(running_thread)
3728 )
3729 );
3730 assert_eq!(
3731 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).living_threads as *const _ as usize },
3732 296usize,
3733 concat!(
3734 "Offset of field: ",
3735 stringify!(rb_vm_struct),
3736 "::",
3737 stringify!(living_threads)
3738 )
3739 );
3740 assert_eq!(
3741 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).thgroup_default as *const _ as usize },
3742 304usize,
3743 concat!(
3744 "Offset of field: ",
3745 stringify!(rb_vm_struct),
3746 "::",
3747 stringify!(thgroup_default)
3748 )
3749 );
3750 assert_eq!(
3751 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).running as *const _ as usize },
3752 312usize,
3753 concat!(
3754 "Offset of field: ",
3755 stringify!(rb_vm_struct),
3756 "::",
3757 stringify!(running)
3758 )
3759 );
3760 assert_eq!(
3761 unsafe {
3762 &(*(::std::ptr::null::<rb_vm_struct>())).thread_abort_on_exception as *const _ as usize
3763 },
3764 316usize,
3765 concat!(
3766 "Offset of field: ",
3767 stringify!(rb_vm_struct),
3768 "::",
3769 stringify!(thread_abort_on_exception)
3770 )
3771 );
3772 assert_eq!(
3773 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).trace_running as *const _ as usize },
3774 320usize,
3775 concat!(
3776 "Offset of field: ",
3777 stringify!(rb_vm_struct),
3778 "::",
3779 stringify!(trace_running)
3780 )
3781 );
3782 assert_eq!(
3783 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).sleeper as *const _ as usize },
3784 324usize,
3785 concat!(
3786 "Offset of field: ",
3787 stringify!(rb_vm_struct),
3788 "::",
3789 stringify!(sleeper)
3790 )
3791 );
3792 assert_eq!(
3793 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).mark_object_ary as *const _ as usize },
3794 328usize,
3795 concat!(
3796 "Offset of field: ",
3797 stringify!(rb_vm_struct),
3798 "::",
3799 stringify!(mark_object_ary)
3800 )
3801 );
3802 assert_eq!(
3803 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).special_exceptions as *const _ as usize },
3804 336usize,
3805 concat!(
3806 "Offset of field: ",
3807 stringify!(rb_vm_struct),
3808 "::",
3809 stringify!(special_exceptions)
3810 )
3811 );
3812 assert_eq!(
3813 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).top_self as *const _ as usize },
3814 368usize,
3815 concat!(
3816 "Offset of field: ",
3817 stringify!(rb_vm_struct),
3818 "::",
3819 stringify!(top_self)
3820 )
3821 );
3822 assert_eq!(
3823 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).load_path as *const _ as usize },
3824 376usize,
3825 concat!(
3826 "Offset of field: ",
3827 stringify!(rb_vm_struct),
3828 "::",
3829 stringify!(load_path)
3830 )
3831 );
3832 assert_eq!(
3833 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).load_path_snapshot as *const _ as usize },
3834 384usize,
3835 concat!(
3836 "Offset of field: ",
3837 stringify!(rb_vm_struct),
3838 "::",
3839 stringify!(load_path_snapshot)
3840 )
3841 );
3842 assert_eq!(
3843 unsafe {
3844 &(*(::std::ptr::null::<rb_vm_struct>())).load_path_check_cache as *const _ as usize
3845 },
3846 392usize,
3847 concat!(
3848 "Offset of field: ",
3849 stringify!(rb_vm_struct),
3850 "::",
3851 stringify!(load_path_check_cache)
3852 )
3853 );
3854 assert_eq!(
3855 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).expanded_load_path as *const _ as usize },
3856 400usize,
3857 concat!(
3858 "Offset of field: ",
3859 stringify!(rb_vm_struct),
3860 "::",
3861 stringify!(expanded_load_path)
3862 )
3863 );
3864 assert_eq!(
3865 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).loaded_features as *const _ as usize },
3866 408usize,
3867 concat!(
3868 "Offset of field: ",
3869 stringify!(rb_vm_struct),
3870 "::",
3871 stringify!(loaded_features)
3872 )
3873 );
3874 assert_eq!(
3875 unsafe {
3876 &(*(::std::ptr::null::<rb_vm_struct>())).loaded_features_snapshot as *const _ as usize
3877 },
3878 416usize,
3879 concat!(
3880 "Offset of field: ",
3881 stringify!(rb_vm_struct),
3882 "::",
3883 stringify!(loaded_features_snapshot)
3884 )
3885 );
3886 assert_eq!(
3887 unsafe {
3888 &(*(::std::ptr::null::<rb_vm_struct>())).loaded_features_index as *const _ as usize
3889 },
3890 424usize,
3891 concat!(
3892 "Offset of field: ",
3893 stringify!(rb_vm_struct),
3894 "::",
3895 stringify!(loaded_features_index)
3896 )
3897 );
3898 assert_eq!(
3899 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).loading_table as *const _ as usize },
3900 432usize,
3901 concat!(
3902 "Offset of field: ",
3903 stringify!(rb_vm_struct),
3904 "::",
3905 stringify!(loading_table)
3906 )
3907 );
3908 assert_eq!(
3909 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).trap_list as *const _ as usize },
3910 440usize,
3911 concat!(
3912 "Offset of field: ",
3913 stringify!(rb_vm_struct),
3914 "::",
3915 stringify!(trap_list)
3916 )
3917 );
3918 assert_eq!(
3919 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).event_hooks as *const _ as usize },
3920 1480usize,
3921 concat!(
3922 "Offset of field: ",
3923 stringify!(rb_vm_struct),
3924 "::",
3925 stringify!(event_hooks)
3926 )
3927 );
3928 assert_eq!(
3929 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).src_encoding_index as *const _ as usize },
3930 1504usize,
3931 concat!(
3932 "Offset of field: ",
3933 stringify!(rb_vm_struct),
3934 "::",
3935 stringify!(src_encoding_index)
3936 )
3937 );
3938 assert_eq!(
3939 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).verbose as *const _ as usize },
3940 1512usize,
3941 concat!(
3942 "Offset of field: ",
3943 stringify!(rb_vm_struct),
3944 "::",
3945 stringify!(verbose)
3946 )
3947 );
3948 assert_eq!(
3949 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).debug as *const _ as usize },
3950 1520usize,
3951 concat!(
3952 "Offset of field: ",
3953 stringify!(rb_vm_struct),
3954 "::",
3955 stringify!(debug)
3956 )
3957 );
3958 assert_eq!(
3959 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).progname as *const _ as usize },
3960 1528usize,
3961 concat!(
3962 "Offset of field: ",
3963 stringify!(rb_vm_struct),
3964 "::",
3965 stringify!(progname)
3966 )
3967 );
3968 assert_eq!(
3969 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).coverages as *const _ as usize },
3970 1536usize,
3971 concat!(
3972 "Offset of field: ",
3973 stringify!(rb_vm_struct),
3974 "::",
3975 stringify!(coverages)
3976 )
3977 );
3978 assert_eq!(
3979 unsafe {
3980 &(*(::std::ptr::null::<rb_vm_struct>())).unlinked_method_entry_list as *const _ as usize
3981 },
3982 1544usize,
3983 concat!(
3984 "Offset of field: ",
3985 stringify!(rb_vm_struct),
3986 "::",
3987 stringify!(unlinked_method_entry_list)
3988 )
3989 );
3990 assert_eq!(
3991 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).objspace as *const _ as usize },
3992 1552usize,
3993 concat!(
3994 "Offset of field: ",
3995 stringify!(rb_vm_struct),
3996 "::",
3997 stringify!(objspace)
3998 )
3999 );
4000 assert_eq!(
4001 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).at_exit as *const _ as usize },
4002 1560usize,
4003 concat!(
4004 "Offset of field: ",
4005 stringify!(rb_vm_struct),
4006 "::",
4007 stringify!(at_exit)
4008 )
4009 );
4010 assert_eq!(
4011 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).defined_strings as *const _ as usize },
4012 1600usize,
4013 concat!(
4014 "Offset of field: ",
4015 stringify!(rb_vm_struct),
4016 "::",
4017 stringify!(defined_strings)
4018 )
4019 );
4020 assert_eq!(
4021 unsafe { &(*(::std::ptr::null::<rb_vm_struct>())).default_params as *const _ as usize },
4022 1608usize,
4023 concat!(
4024 "Offset of field: ",
4025 stringify!(rb_vm_struct),
4026 "::",
4027 stringify!(default_params)
4028 )
4029 );
4030}
4031impl ::std::fmt::Debug for rb_vm_struct {
4032 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4033 write ! ( f , "rb_vm_struct {{ self: {:?}, gvl: {:?}, thread_destruct_lock: {:?}, main_thread: {:?}, running_thread: {:?}, living_threads: {:?}, thgroup_default: {:?}, running: {:?}, thread_abort_on_exception: {:?}, trace_running: {:?}, sleeper: {:?}, mark_object_ary: {:?}, special_exceptions: {:?}, top_self: {:?}, load_path: {:?}, load_path_snapshot: {:?}, load_path_check_cache: {:?}, expanded_load_path: {:?}, loaded_features: {:?}, loaded_features_snapshot: {:?}, loaded_features_index: {:?}, loading_table: {:?}, trap_list: [{}], event_hooks: {:?}, src_encoding_index: {:?}, verbose: {:?}, debug: {:?}, progname: {:?}, coverages: {:?}, unlinked_method_entry_list: {:?}, objspace: {:?}, at_exit: {:?}, defined_strings: {:?}, default_params: {:?} }}" , self . self_ , self . gvl , self . thread_destruct_lock , self . main_thread , self . running_thread , self . living_threads , self . thgroup_default , self . running , self . thread_abort_on_exception , self . trace_running , self . sleeper , self . mark_object_ary , self . special_exceptions , self . top_self , self . load_path , self . load_path_snapshot , self . load_path_check_cache , self . expanded_load_path , self . loaded_features , self . loaded_features_snapshot , self . loaded_features_index , 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 , self . defined_strings , self . default_params )
4034 }
4035}
4036pub type rb_vm_t = rb_vm_struct;
4037#[repr(C)]
4038#[derive(Debug, Copy, Clone)]
4039pub struct rb_control_frame_struct {
4040 pub pc: *mut VALUE,
4041 pub sp: *mut VALUE,
4042 pub iseq: *mut rb_iseq_t,
4043 pub flag: VALUE,
4044 pub self_: VALUE,
4045 pub klass: VALUE,
4046 pub ep: *mut VALUE,
4047 pub block_iseq: *mut rb_iseq_t,
4048 pub proc_: VALUE,
4049 pub me: *const rb_method_entry_t,
4050}
4051#[test]
4052fn bindgen_test_layout_rb_control_frame_struct() {
4053 assert_eq!(
4054 ::std::mem::size_of::<rb_control_frame_struct>(),
4055 80usize,
4056 concat!("Size of: ", stringify!(rb_control_frame_struct))
4057 );
4058 assert_eq!(
4059 ::std::mem::align_of::<rb_control_frame_struct>(),
4060 8usize,
4061 concat!("Alignment of ", stringify!(rb_control_frame_struct))
4062 );
4063 assert_eq!(
4064 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).pc as *const _ as usize },
4065 0usize,
4066 concat!(
4067 "Offset of field: ",
4068 stringify!(rb_control_frame_struct),
4069 "::",
4070 stringify!(pc)
4071 )
4072 );
4073 assert_eq!(
4074 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).sp as *const _ as usize },
4075 8usize,
4076 concat!(
4077 "Offset of field: ",
4078 stringify!(rb_control_frame_struct),
4079 "::",
4080 stringify!(sp)
4081 )
4082 );
4083 assert_eq!(
4084 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).iseq as *const _ as usize },
4085 16usize,
4086 concat!(
4087 "Offset of field: ",
4088 stringify!(rb_control_frame_struct),
4089 "::",
4090 stringify!(iseq)
4091 )
4092 );
4093 assert_eq!(
4094 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).flag as *const _ as usize },
4095 24usize,
4096 concat!(
4097 "Offset of field: ",
4098 stringify!(rb_control_frame_struct),
4099 "::",
4100 stringify!(flag)
4101 )
4102 );
4103 assert_eq!(
4104 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).self_ as *const _ as usize },
4105 32usize,
4106 concat!(
4107 "Offset of field: ",
4108 stringify!(rb_control_frame_struct),
4109 "::",
4110 stringify!(self_)
4111 )
4112 );
4113 assert_eq!(
4114 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).klass as *const _ as usize },
4115 40usize,
4116 concat!(
4117 "Offset of field: ",
4118 stringify!(rb_control_frame_struct),
4119 "::",
4120 stringify!(klass)
4121 )
4122 );
4123 assert_eq!(
4124 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).ep as *const _ as usize },
4125 48usize,
4126 concat!(
4127 "Offset of field: ",
4128 stringify!(rb_control_frame_struct),
4129 "::",
4130 stringify!(ep)
4131 )
4132 );
4133 assert_eq!(
4134 unsafe {
4135 &(*(::std::ptr::null::<rb_control_frame_struct>())).block_iseq as *const _ as usize
4136 },
4137 56usize,
4138 concat!(
4139 "Offset of field: ",
4140 stringify!(rb_control_frame_struct),
4141 "::",
4142 stringify!(block_iseq)
4143 )
4144 );
4145 assert_eq!(
4146 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).proc_ as *const _ as usize },
4147 64usize,
4148 concat!(
4149 "Offset of field: ",
4150 stringify!(rb_control_frame_struct),
4151 "::",
4152 stringify!(proc_)
4153 )
4154 );
4155 assert_eq!(
4156 unsafe { &(*(::std::ptr::null::<rb_control_frame_struct>())).me as *const _ as usize },
4157 72usize,
4158 concat!(
4159 "Offset of field: ",
4160 stringify!(rb_control_frame_struct),
4161 "::",
4162 stringify!(me)
4163 )
4164 );
4165}
4166pub type rb_control_frame_t = rb_control_frame_struct;
4167#[repr(C)]
4168#[derive(Debug, Copy, Clone)]
4169pub struct rb_block_struct {
4170 pub self_: VALUE,
4171 pub klass: VALUE,
4172 pub ep: *mut VALUE,
4173 pub iseq: *mut rb_iseq_t,
4174 pub proc_: VALUE,
4175}
4176#[test]
4177fn bindgen_test_layout_rb_block_struct() {
4178 assert_eq!(
4179 ::std::mem::size_of::<rb_block_struct>(),
4180 40usize,
4181 concat!("Size of: ", stringify!(rb_block_struct))
4182 );
4183 assert_eq!(
4184 ::std::mem::align_of::<rb_block_struct>(),
4185 8usize,
4186 concat!("Alignment of ", stringify!(rb_block_struct))
4187 );
4188 assert_eq!(
4189 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).self_ as *const _ as usize },
4190 0usize,
4191 concat!(
4192 "Offset of field: ",
4193 stringify!(rb_block_struct),
4194 "::",
4195 stringify!(self_)
4196 )
4197 );
4198 assert_eq!(
4199 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).klass as *const _ as usize },
4200 8usize,
4201 concat!(
4202 "Offset of field: ",
4203 stringify!(rb_block_struct),
4204 "::",
4205 stringify!(klass)
4206 )
4207 );
4208 assert_eq!(
4209 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).ep as *const _ as usize },
4210 16usize,
4211 concat!(
4212 "Offset of field: ",
4213 stringify!(rb_block_struct),
4214 "::",
4215 stringify!(ep)
4216 )
4217 );
4218 assert_eq!(
4219 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).iseq as *const _ as usize },
4220 24usize,
4221 concat!(
4222 "Offset of field: ",
4223 stringify!(rb_block_struct),
4224 "::",
4225 stringify!(iseq)
4226 )
4227 );
4228 assert_eq!(
4229 unsafe { &(*(::std::ptr::null::<rb_block_struct>())).proc_ as *const _ as usize },
4230 32usize,
4231 concat!(
4232 "Offset of field: ",
4233 stringify!(rb_block_struct),
4234 "::",
4235 stringify!(proc_)
4236 )
4237 );
4238}
4239pub type rb_block_t = rb_block_struct;
4240pub const rb_thread_status_THREAD_RUNNABLE: rb_thread_status = 0;
4241pub const rb_thread_status_THREAD_STOPPED: rb_thread_status = 1;
4242pub const rb_thread_status_THREAD_STOPPED_FOREVER: rb_thread_status = 2;
4243pub const rb_thread_status_THREAD_KILLED: rb_thread_status = 3;
4244pub type rb_thread_status = ::std::os::raw::c_uint;
4245pub type rb_jmpbuf_t = jmp_buf;
4246#[repr(C)]
4247#[derive(Debug, Copy, Clone)]
4248pub struct rb_vm_tag {
4249 pub buf: rb_jmpbuf_t,
4250 pub tag: VALUE,
4251 pub retval: VALUE,
4252 pub prev: *mut rb_vm_tag,
4253}
4254#[test]
4255fn bindgen_test_layout_rb_vm_tag() {
4256 assert_eq!(
4257 ::std::mem::size_of::<rb_vm_tag>(),
4258 224usize,
4259 concat!("Size of: ", stringify!(rb_vm_tag))
4260 );
4261 assert_eq!(
4262 ::std::mem::align_of::<rb_vm_tag>(),
4263 8usize,
4264 concat!("Alignment of ", stringify!(rb_vm_tag))
4265 );
4266 assert_eq!(
4267 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).buf as *const _ as usize },
4268 0usize,
4269 concat!(
4270 "Offset of field: ",
4271 stringify!(rb_vm_tag),
4272 "::",
4273 stringify!(buf)
4274 )
4275 );
4276 assert_eq!(
4277 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).tag as *const _ as usize },
4278 200usize,
4279 concat!(
4280 "Offset of field: ",
4281 stringify!(rb_vm_tag),
4282 "::",
4283 stringify!(tag)
4284 )
4285 );
4286 assert_eq!(
4287 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).retval as *const _ as usize },
4288 208usize,
4289 concat!(
4290 "Offset of field: ",
4291 stringify!(rb_vm_tag),
4292 "::",
4293 stringify!(retval)
4294 )
4295 );
4296 assert_eq!(
4297 unsafe { &(*(::std::ptr::null::<rb_vm_tag>())).prev as *const _ as usize },
4298 216usize,
4299 concat!(
4300 "Offset of field: ",
4301 stringify!(rb_vm_tag),
4302 "::",
4303 stringify!(prev)
4304 )
4305 );
4306}
4307#[repr(C)]
4308#[derive(Debug, Copy, Clone)]
4309pub struct rb_vm_protect_tag {
4310 pub prev: *mut rb_vm_protect_tag,
4311}
4312#[test]
4313fn bindgen_test_layout_rb_vm_protect_tag() {
4314 assert_eq!(
4315 ::std::mem::size_of::<rb_vm_protect_tag>(),
4316 8usize,
4317 concat!("Size of: ", stringify!(rb_vm_protect_tag))
4318 );
4319 assert_eq!(
4320 ::std::mem::align_of::<rb_vm_protect_tag>(),
4321 8usize,
4322 concat!("Alignment of ", stringify!(rb_vm_protect_tag))
4323 );
4324 assert_eq!(
4325 unsafe { &(*(::std::ptr::null::<rb_vm_protect_tag>())).prev as *const _ as usize },
4326 0usize,
4327 concat!(
4328 "Offset of field: ",
4329 stringify!(rb_vm_protect_tag),
4330 "::",
4331 stringify!(prev)
4332 )
4333 );
4334}
4335#[repr(C)]
4336#[derive(Debug, Copy, Clone)]
4337pub struct rb_unblock_callback {
4338 pub func: rb_unblock_function_t,
4339 pub arg: *mut ::std::os::raw::c_void,
4340}
4341#[test]
4342fn bindgen_test_layout_rb_unblock_callback() {
4343 assert_eq!(
4344 ::std::mem::size_of::<rb_unblock_callback>(),
4345 16usize,
4346 concat!("Size of: ", stringify!(rb_unblock_callback))
4347 );
4348 assert_eq!(
4349 ::std::mem::align_of::<rb_unblock_callback>(),
4350 8usize,
4351 concat!("Alignment of ", stringify!(rb_unblock_callback))
4352 );
4353 assert_eq!(
4354 unsafe { &(*(::std::ptr::null::<rb_unblock_callback>())).func as *const _ as usize },
4355 0usize,
4356 concat!(
4357 "Offset of field: ",
4358 stringify!(rb_unblock_callback),
4359 "::",
4360 stringify!(func)
4361 )
4362 );
4363 assert_eq!(
4364 unsafe { &(*(::std::ptr::null::<rb_unblock_callback>())).arg as *const _ as usize },
4365 8usize,
4366 concat!(
4367 "Offset of field: ",
4368 stringify!(rb_unblock_callback),
4369 "::",
4370 stringify!(arg)
4371 )
4372 );
4373}
4374#[repr(C)]
4375#[derive(Debug, Copy, Clone)]
4376pub struct rb_mutex_struct {
4377 _unused: [u8; 0],
4378}
4379#[repr(C)]
4380#[derive(Debug, Copy, Clone)]
4381pub struct rb_thread_list_struct {
4382 pub next: *mut rb_thread_list_struct,
4383 pub th: *mut rb_thread_struct,
4384}
4385#[test]
4386fn bindgen_test_layout_rb_thread_list_struct() {
4387 assert_eq!(
4388 ::std::mem::size_of::<rb_thread_list_struct>(),
4389 16usize,
4390 concat!("Size of: ", stringify!(rb_thread_list_struct))
4391 );
4392 assert_eq!(
4393 ::std::mem::align_of::<rb_thread_list_struct>(),
4394 8usize,
4395 concat!("Alignment of ", stringify!(rb_thread_list_struct))
4396 );
4397 assert_eq!(
4398 unsafe { &(*(::std::ptr::null::<rb_thread_list_struct>())).next as *const _ as usize },
4399 0usize,
4400 concat!(
4401 "Offset of field: ",
4402 stringify!(rb_thread_list_struct),
4403 "::",
4404 stringify!(next)
4405 )
4406 );
4407 assert_eq!(
4408 unsafe { &(*(::std::ptr::null::<rb_thread_list_struct>())).th as *const _ as usize },
4409 8usize,
4410 concat!(
4411 "Offset of field: ",
4412 stringify!(rb_thread_list_struct),
4413 "::",
4414 stringify!(th)
4415 )
4416 );
4417}
4418pub type rb_thread_list_t = rb_thread_list_struct;
4419#[repr(C)]
4420#[derive(Copy, Clone)]
4421pub struct rb_thread_struct {
4422 pub self_: VALUE,
4423 pub vm: *mut rb_vm_t,
4424 pub stack: *mut VALUE,
4425 pub stack_size: usize,
4426 pub cfp: *mut rb_control_frame_t,
4427 pub safe_level: ::std::os::raw::c_int,
4428 pub raised_flag: ::std::os::raw::c_int,
4429 pub last_status: VALUE,
4430 pub state: ::std::os::raw::c_int,
4431 pub waiting_fd: ::std::os::raw::c_int,
4432 pub passed_block: *const rb_block_t,
4433 pub passed_me: *const rb_method_entry_t,
4434 pub passed_ci: *mut rb_call_info_t,
4435 pub top_self: VALUE,
4436 pub top_wrapper: VALUE,
4437 pub base_block: *mut rb_block_t,
4438 pub root_lep: *mut VALUE,
4439 pub root_svar: VALUE,
4440 pub thread_id: rb_thread_id_t,
4441 pub status: rb_thread_status,
4442 pub to_kill: ::std::os::raw::c_int,
4443 pub priority: ::std::os::raw::c_int,
4444 pub native_thread_data: native_thread_data_t,
4445 pub blocking_region_buffer: *mut ::std::os::raw::c_void,
4446 pub thgroup: VALUE,
4447 pub value: VALUE,
4448 pub errinfo: VALUE,
4449 pub pending_interrupt_queue: VALUE,
4450 pub pending_interrupt_queue_checked: ::std::os::raw::c_int,
4451 pub pending_interrupt_mask_stack: VALUE,
4452 pub interrupt_flag: rb_atomic_t,
4453 pub interrupt_mask: ::std::os::raw::c_ulong,
4454 pub interrupt_lock: rb_thread_lock_t,
4455 pub unblock: rb_unblock_callback,
4456 pub locking_mutex: VALUE,
4457 pub keeping_mutexes: *mut rb_mutex_struct,
4458 pub tag: *mut rb_vm_tag,
4459 pub protect_tag: *mut rb_vm_protect_tag,
4460 pub parse_in_eval: ::std::os::raw::c_int,
4461 pub mild_compile_error: ::std::os::raw::c_int,
4462 pub local_storage: *mut st_table,
4463 pub join_list: *mut rb_thread_list_t,
4464 pub first_proc: VALUE,
4465 pub first_args: VALUE,
4466 pub first_func: ::std::option::Option<unsafe extern "C" fn() -> VALUE>,
4467 pub machine_stack_start: *mut VALUE,
4468 pub machine_stack_end: *mut VALUE,
4469 pub machine_stack_maxsize: usize,
4470 pub machine_regs: jmp_buf,
4471 pub mark_stack_len: ::std::os::raw::c_int,
4472 pub stat_insn_usage: VALUE,
4473 pub event_hooks: rb_hook_list_t,
4474 pub trace_arg: *mut rb_trace_arg_struct,
4475 pub fiber: VALUE,
4476 pub root_fiber: VALUE,
4477 pub root_jmpbuf: rb_jmpbuf_t,
4478 pub method_missing_reason: ::std::os::raw::c_int,
4479 pub abort_on_exception: ::std::os::raw::c_int,
4480 pub altstack: *mut ::std::os::raw::c_void,
4481 pub running_time_us: ::std::os::raw::c_ulong,
4482}
4483#[test]
4484fn bindgen_test_layout_rb_thread_struct() {
4485 assert_eq!(
4486 ::std::mem::size_of::<rb_thread_struct>(),
4487 936usize,
4488 concat!("Size of: ", stringify!(rb_thread_struct))
4489 );
4490 assert_eq!(
4491 ::std::mem::align_of::<rb_thread_struct>(),
4492 8usize,
4493 concat!("Alignment of ", stringify!(rb_thread_struct))
4494 );
4495 assert_eq!(
4496 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).self_ as *const _ as usize },
4497 0usize,
4498 concat!(
4499 "Offset of field: ",
4500 stringify!(rb_thread_struct),
4501 "::",
4502 stringify!(self_)
4503 )
4504 );
4505 assert_eq!(
4506 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).vm as *const _ as usize },
4507 8usize,
4508 concat!(
4509 "Offset of field: ",
4510 stringify!(rb_thread_struct),
4511 "::",
4512 stringify!(vm)
4513 )
4514 );
4515 assert_eq!(
4516 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).stack as *const _ as usize },
4517 16usize,
4518 concat!(
4519 "Offset of field: ",
4520 stringify!(rb_thread_struct),
4521 "::",
4522 stringify!(stack)
4523 )
4524 );
4525 assert_eq!(
4526 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).stack_size as *const _ as usize },
4527 24usize,
4528 concat!(
4529 "Offset of field: ",
4530 stringify!(rb_thread_struct),
4531 "::",
4532 stringify!(stack_size)
4533 )
4534 );
4535 assert_eq!(
4536 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).cfp as *const _ as usize },
4537 32usize,
4538 concat!(
4539 "Offset of field: ",
4540 stringify!(rb_thread_struct),
4541 "::",
4542 stringify!(cfp)
4543 )
4544 );
4545 assert_eq!(
4546 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).safe_level as *const _ as usize },
4547 40usize,
4548 concat!(
4549 "Offset of field: ",
4550 stringify!(rb_thread_struct),
4551 "::",
4552 stringify!(safe_level)
4553 )
4554 );
4555 assert_eq!(
4556 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).raised_flag as *const _ as usize },
4557 44usize,
4558 concat!(
4559 "Offset of field: ",
4560 stringify!(rb_thread_struct),
4561 "::",
4562 stringify!(raised_flag)
4563 )
4564 );
4565 assert_eq!(
4566 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).last_status as *const _ as usize },
4567 48usize,
4568 concat!(
4569 "Offset of field: ",
4570 stringify!(rb_thread_struct),
4571 "::",
4572 stringify!(last_status)
4573 )
4574 );
4575 assert_eq!(
4576 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).state as *const _ as usize },
4577 56usize,
4578 concat!(
4579 "Offset of field: ",
4580 stringify!(rb_thread_struct),
4581 "::",
4582 stringify!(state)
4583 )
4584 );
4585 assert_eq!(
4586 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).waiting_fd as *const _ as usize },
4587 60usize,
4588 concat!(
4589 "Offset of field: ",
4590 stringify!(rb_thread_struct),
4591 "::",
4592 stringify!(waiting_fd)
4593 )
4594 );
4595 assert_eq!(
4596 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).passed_block as *const _ as usize },
4597 64usize,
4598 concat!(
4599 "Offset of field: ",
4600 stringify!(rb_thread_struct),
4601 "::",
4602 stringify!(passed_block)
4603 )
4604 );
4605 assert_eq!(
4606 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).passed_me as *const _ as usize },
4607 72usize,
4608 concat!(
4609 "Offset of field: ",
4610 stringify!(rb_thread_struct),
4611 "::",
4612 stringify!(passed_me)
4613 )
4614 );
4615 assert_eq!(
4616 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).passed_ci as *const _ as usize },
4617 80usize,
4618 concat!(
4619 "Offset of field: ",
4620 stringify!(rb_thread_struct),
4621 "::",
4622 stringify!(passed_ci)
4623 )
4624 );
4625 assert_eq!(
4626 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).top_self as *const _ as usize },
4627 88usize,
4628 concat!(
4629 "Offset of field: ",
4630 stringify!(rb_thread_struct),
4631 "::",
4632 stringify!(top_self)
4633 )
4634 );
4635 assert_eq!(
4636 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).top_wrapper as *const _ as usize },
4637 96usize,
4638 concat!(
4639 "Offset of field: ",
4640 stringify!(rb_thread_struct),
4641 "::",
4642 stringify!(top_wrapper)
4643 )
4644 );
4645 assert_eq!(
4646 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).base_block as *const _ as usize },
4647 104usize,
4648 concat!(
4649 "Offset of field: ",
4650 stringify!(rb_thread_struct),
4651 "::",
4652 stringify!(base_block)
4653 )
4654 );
4655 assert_eq!(
4656 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).root_lep as *const _ as usize },
4657 112usize,
4658 concat!(
4659 "Offset of field: ",
4660 stringify!(rb_thread_struct),
4661 "::",
4662 stringify!(root_lep)
4663 )
4664 );
4665 assert_eq!(
4666 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).root_svar as *const _ as usize },
4667 120usize,
4668 concat!(
4669 "Offset of field: ",
4670 stringify!(rb_thread_struct),
4671 "::",
4672 stringify!(root_svar)
4673 )
4674 );
4675 assert_eq!(
4676 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).thread_id as *const _ as usize },
4677 128usize,
4678 concat!(
4679 "Offset of field: ",
4680 stringify!(rb_thread_struct),
4681 "::",
4682 stringify!(thread_id)
4683 )
4684 );
4685 assert_eq!(
4686 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).status as *const _ as usize },
4687 136usize,
4688 concat!(
4689 "Offset of field: ",
4690 stringify!(rb_thread_struct),
4691 "::",
4692 stringify!(status)
4693 )
4694 );
4695 assert_eq!(
4696 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).to_kill as *const _ as usize },
4697 140usize,
4698 concat!(
4699 "Offset of field: ",
4700 stringify!(rb_thread_struct),
4701 "::",
4702 stringify!(to_kill)
4703 )
4704 );
4705 assert_eq!(
4706 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).priority as *const _ as usize },
4707 144usize,
4708 concat!(
4709 "Offset of field: ",
4710 stringify!(rb_thread_struct),
4711 "::",
4712 stringify!(priority)
4713 )
4714 );
4715 assert_eq!(
4716 unsafe {
4717 &(*(::std::ptr::null::<rb_thread_struct>())).native_thread_data as *const _ as usize
4718 },
4719 152usize,
4720 concat!(
4721 "Offset of field: ",
4722 stringify!(rb_thread_struct),
4723 "::",
4724 stringify!(native_thread_data)
4725 )
4726 );
4727 assert_eq!(
4728 unsafe {
4729 &(*(::std::ptr::null::<rb_thread_struct>())).blocking_region_buffer as *const _ as usize
4730 },
4731 216usize,
4732 concat!(
4733 "Offset of field: ",
4734 stringify!(rb_thread_struct),
4735 "::",
4736 stringify!(blocking_region_buffer)
4737 )
4738 );
4739 assert_eq!(
4740 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).thgroup as *const _ as usize },
4741 224usize,
4742 concat!(
4743 "Offset of field: ",
4744 stringify!(rb_thread_struct),
4745 "::",
4746 stringify!(thgroup)
4747 )
4748 );
4749 assert_eq!(
4750 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).value as *const _ as usize },
4751 232usize,
4752 concat!(
4753 "Offset of field: ",
4754 stringify!(rb_thread_struct),
4755 "::",
4756 stringify!(value)
4757 )
4758 );
4759 assert_eq!(
4760 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).errinfo as *const _ as usize },
4761 240usize,
4762 concat!(
4763 "Offset of field: ",
4764 stringify!(rb_thread_struct),
4765 "::",
4766 stringify!(errinfo)
4767 )
4768 );
4769 assert_eq!(
4770 unsafe {
4771 &(*(::std::ptr::null::<rb_thread_struct>())).pending_interrupt_queue as *const _
4772 as usize
4773 },
4774 248usize,
4775 concat!(
4776 "Offset of field: ",
4777 stringify!(rb_thread_struct),
4778 "::",
4779 stringify!(pending_interrupt_queue)
4780 )
4781 );
4782 assert_eq!(
4783 unsafe {
4784 &(*(::std::ptr::null::<rb_thread_struct>())).pending_interrupt_queue_checked as *const _
4785 as usize
4786 },
4787 256usize,
4788 concat!(
4789 "Offset of field: ",
4790 stringify!(rb_thread_struct),
4791 "::",
4792 stringify!(pending_interrupt_queue_checked)
4793 )
4794 );
4795 assert_eq!(
4796 unsafe {
4797 &(*(::std::ptr::null::<rb_thread_struct>())).pending_interrupt_mask_stack as *const _
4798 as usize
4799 },
4800 264usize,
4801 concat!(
4802 "Offset of field: ",
4803 stringify!(rb_thread_struct),
4804 "::",
4805 stringify!(pending_interrupt_mask_stack)
4806 )
4807 );
4808 assert_eq!(
4809 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).interrupt_flag as *const _ as usize },
4810 272usize,
4811 concat!(
4812 "Offset of field: ",
4813 stringify!(rb_thread_struct),
4814 "::",
4815 stringify!(interrupt_flag)
4816 )
4817 );
4818 assert_eq!(
4819 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).interrupt_mask as *const _ as usize },
4820 280usize,
4821 concat!(
4822 "Offset of field: ",
4823 stringify!(rb_thread_struct),
4824 "::",
4825 stringify!(interrupt_mask)
4826 )
4827 );
4828 assert_eq!(
4829 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).interrupt_lock as *const _ as usize },
4830 288usize,
4831 concat!(
4832 "Offset of field: ",
4833 stringify!(rb_thread_struct),
4834 "::",
4835 stringify!(interrupt_lock)
4836 )
4837 );
4838 assert_eq!(
4839 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).unblock as *const _ as usize },
4840 328usize,
4841 concat!(
4842 "Offset of field: ",
4843 stringify!(rb_thread_struct),
4844 "::",
4845 stringify!(unblock)
4846 )
4847 );
4848 assert_eq!(
4849 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).locking_mutex as *const _ as usize },
4850 344usize,
4851 concat!(
4852 "Offset of field: ",
4853 stringify!(rb_thread_struct),
4854 "::",
4855 stringify!(locking_mutex)
4856 )
4857 );
4858 assert_eq!(
4859 unsafe {
4860 &(*(::std::ptr::null::<rb_thread_struct>())).keeping_mutexes as *const _ as usize
4861 },
4862 352usize,
4863 concat!(
4864 "Offset of field: ",
4865 stringify!(rb_thread_struct),
4866 "::",
4867 stringify!(keeping_mutexes)
4868 )
4869 );
4870 assert_eq!(
4871 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).tag as *const _ as usize },
4872 360usize,
4873 concat!(
4874 "Offset of field: ",
4875 stringify!(rb_thread_struct),
4876 "::",
4877 stringify!(tag)
4878 )
4879 );
4880 assert_eq!(
4881 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).protect_tag as *const _ as usize },
4882 368usize,
4883 concat!(
4884 "Offset of field: ",
4885 stringify!(rb_thread_struct),
4886 "::",
4887 stringify!(protect_tag)
4888 )
4889 );
4890 assert_eq!(
4891 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).parse_in_eval as *const _ as usize },
4892 376usize,
4893 concat!(
4894 "Offset of field: ",
4895 stringify!(rb_thread_struct),
4896 "::",
4897 stringify!(parse_in_eval)
4898 )
4899 );
4900 assert_eq!(
4901 unsafe {
4902 &(*(::std::ptr::null::<rb_thread_struct>())).mild_compile_error as *const _ as usize
4903 },
4904 380usize,
4905 concat!(
4906 "Offset of field: ",
4907 stringify!(rb_thread_struct),
4908 "::",
4909 stringify!(mild_compile_error)
4910 )
4911 );
4912 assert_eq!(
4913 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).local_storage as *const _ as usize },
4914 384usize,
4915 concat!(
4916 "Offset of field: ",
4917 stringify!(rb_thread_struct),
4918 "::",
4919 stringify!(local_storage)
4920 )
4921 );
4922 assert_eq!(
4923 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).join_list as *const _ as usize },
4924 392usize,
4925 concat!(
4926 "Offset of field: ",
4927 stringify!(rb_thread_struct),
4928 "::",
4929 stringify!(join_list)
4930 )
4931 );
4932 assert_eq!(
4933 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).first_proc as *const _ as usize },
4934 400usize,
4935 concat!(
4936 "Offset of field: ",
4937 stringify!(rb_thread_struct),
4938 "::",
4939 stringify!(first_proc)
4940 )
4941 );
4942 assert_eq!(
4943 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).first_args as *const _ as usize },
4944 408usize,
4945 concat!(
4946 "Offset of field: ",
4947 stringify!(rb_thread_struct),
4948 "::",
4949 stringify!(first_args)
4950 )
4951 );
4952 assert_eq!(
4953 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).first_func as *const _ as usize },
4954 416usize,
4955 concat!(
4956 "Offset of field: ",
4957 stringify!(rb_thread_struct),
4958 "::",
4959 stringify!(first_func)
4960 )
4961 );
4962 assert_eq!(
4963 unsafe {
4964 &(*(::std::ptr::null::<rb_thread_struct>())).machine_stack_start as *const _ as usize
4965 },
4966 424usize,
4967 concat!(
4968 "Offset of field: ",
4969 stringify!(rb_thread_struct),
4970 "::",
4971 stringify!(machine_stack_start)
4972 )
4973 );
4974 assert_eq!(
4975 unsafe {
4976 &(*(::std::ptr::null::<rb_thread_struct>())).machine_stack_end as *const _ as usize
4977 },
4978 432usize,
4979 concat!(
4980 "Offset of field: ",
4981 stringify!(rb_thread_struct),
4982 "::",
4983 stringify!(machine_stack_end)
4984 )
4985 );
4986 assert_eq!(
4987 unsafe {
4988 &(*(::std::ptr::null::<rb_thread_struct>())).machine_stack_maxsize as *const _ as usize
4989 },
4990 440usize,
4991 concat!(
4992 "Offset of field: ",
4993 stringify!(rb_thread_struct),
4994 "::",
4995 stringify!(machine_stack_maxsize)
4996 )
4997 );
4998 assert_eq!(
4999 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).machine_regs as *const _ as usize },
5000 448usize,
5001 concat!(
5002 "Offset of field: ",
5003 stringify!(rb_thread_struct),
5004 "::",
5005 stringify!(machine_regs)
5006 )
5007 );
5008 assert_eq!(
5009 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).mark_stack_len as *const _ as usize },
5010 648usize,
5011 concat!(
5012 "Offset of field: ",
5013 stringify!(rb_thread_struct),
5014 "::",
5015 stringify!(mark_stack_len)
5016 )
5017 );
5018 assert_eq!(
5019 unsafe {
5020 &(*(::std::ptr::null::<rb_thread_struct>())).stat_insn_usage as *const _ as usize
5021 },
5022 656usize,
5023 concat!(
5024 "Offset of field: ",
5025 stringify!(rb_thread_struct),
5026 "::",
5027 stringify!(stat_insn_usage)
5028 )
5029 );
5030 assert_eq!(
5031 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).event_hooks as *const _ as usize },
5032 664usize,
5033 concat!(
5034 "Offset of field: ",
5035 stringify!(rb_thread_struct),
5036 "::",
5037 stringify!(event_hooks)
5038 )
5039 );
5040 assert_eq!(
5041 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).trace_arg as *const _ as usize },
5042 688usize,
5043 concat!(
5044 "Offset of field: ",
5045 stringify!(rb_thread_struct),
5046 "::",
5047 stringify!(trace_arg)
5048 )
5049 );
5050 assert_eq!(
5051 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).fiber as *const _ as usize },
5052 696usize,
5053 concat!(
5054 "Offset of field: ",
5055 stringify!(rb_thread_struct),
5056 "::",
5057 stringify!(fiber)
5058 )
5059 );
5060 assert_eq!(
5061 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).root_fiber as *const _ as usize },
5062 704usize,
5063 concat!(
5064 "Offset of field: ",
5065 stringify!(rb_thread_struct),
5066 "::",
5067 stringify!(root_fiber)
5068 )
5069 );
5070 assert_eq!(
5071 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).root_jmpbuf as *const _ as usize },
5072 712usize,
5073 concat!(
5074 "Offset of field: ",
5075 stringify!(rb_thread_struct),
5076 "::",
5077 stringify!(root_jmpbuf)
5078 )
5079 );
5080 assert_eq!(
5081 unsafe {
5082 &(*(::std::ptr::null::<rb_thread_struct>())).method_missing_reason as *const _ as usize
5083 },
5084 912usize,
5085 concat!(
5086 "Offset of field: ",
5087 stringify!(rb_thread_struct),
5088 "::",
5089 stringify!(method_missing_reason)
5090 )
5091 );
5092 assert_eq!(
5093 unsafe {
5094 &(*(::std::ptr::null::<rb_thread_struct>())).abort_on_exception as *const _ as usize
5095 },
5096 916usize,
5097 concat!(
5098 "Offset of field: ",
5099 stringify!(rb_thread_struct),
5100 "::",
5101 stringify!(abort_on_exception)
5102 )
5103 );
5104 assert_eq!(
5105 unsafe { &(*(::std::ptr::null::<rb_thread_struct>())).altstack as *const _ as usize },
5106 920usize,
5107 concat!(
5108 "Offset of field: ",
5109 stringify!(rb_thread_struct),
5110 "::",
5111 stringify!(altstack)
5112 )
5113 );
5114 assert_eq!(
5115 unsafe {
5116 &(*(::std::ptr::null::<rb_thread_struct>())).running_time_us as *const _ as usize
5117 },
5118 928usize,
5119 concat!(
5120 "Offset of field: ",
5121 stringify!(rb_thread_struct),
5122 "::",
5123 stringify!(running_time_us)
5124 )
5125 );
5126}
5127impl ::std::fmt::Debug for rb_thread_struct {
5128 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
5129 write ! ( f , "rb_thread_struct {{ self: {:?}, vm: {:?}, stack: {:?}, stack_size: {:?}, cfp: {:?}, safe_level: {:?}, raised_flag: {:?}, last_status: {:?}, state: {:?}, waiting_fd: {:?}, passed_block: {:?}, passed_me: {:?}, passed_ci: {:?}, top_self: {:?}, top_wrapper: {:?}, base_block: {:?}, root_lep: {:?}, root_svar: {:?}, thread_id: {:?}, status: {:?}, to_kill: {:?}, priority: {:?}, native_thread_data: {:?}, blocking_region_buffer: {:?}, thgroup: {:?}, value: {:?}, errinfo: {:?}, pending_interrupt_queue: {:?}, pending_interrupt_queue_checked: {:?}, pending_interrupt_mask_stack: {:?}, interrupt_flag: {:?}, interrupt_mask: {:?}, interrupt_lock: {:?}, unblock: {:?}, locking_mutex: {:?}, keeping_mutexes: {:?}, tag: {:?}, protect_tag: {:?}, parse_in_eval: {:?}, mild_compile_error: {:?}, local_storage: {:?}, join_list: {:?}, 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: {:?}, trace_arg: {:?}, 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 . passed_ci , self . top_self , self . top_wrapper , self . base_block , self . root_lep , self . root_svar , self . thread_id , self . status , self . to_kill , self . priority , self . native_thread_data , self . blocking_region_buffer , self . thgroup , self . value , self . errinfo , self . pending_interrupt_queue , self . pending_interrupt_queue_checked , self . pending_interrupt_mask_stack , self . interrupt_flag , self . interrupt_mask , 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 , 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 . trace_arg , self . fiber , self . root_fiber , self . root_jmpbuf , self . method_missing_reason , self . abort_on_exception , self . altstack , self . running_time_us )
5130 }
5131}
5132pub type rb_thread_t = rb_thread_struct;
5133#[repr(C)]
5134#[derive(Debug, Copy, Clone)]
5135pub struct rb_trace_arg_struct {
5136 pub event: rb_event_flag_t,
5137 pub th: *mut rb_thread_t,
5138 pub cfp: *mut rb_control_frame_t,
5139 pub self_: VALUE,
5140 pub id: ID,
5141 pub klass: VALUE,
5142 pub data: VALUE,
5143 pub klass_solved: ::std::os::raw::c_int,
5144 pub lineno: ::std::os::raw::c_int,
5145 pub path: VALUE,
5146}
5147#[test]
5148fn bindgen_test_layout_rb_trace_arg_struct() {
5149 assert_eq!(
5150 ::std::mem::size_of::<rb_trace_arg_struct>(),
5151 72usize,
5152 concat!("Size of: ", stringify!(rb_trace_arg_struct))
5153 );
5154 assert_eq!(
5155 ::std::mem::align_of::<rb_trace_arg_struct>(),
5156 8usize,
5157 concat!("Alignment of ", stringify!(rb_trace_arg_struct))
5158 );
5159 assert_eq!(
5160 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).event as *const _ as usize },
5161 0usize,
5162 concat!(
5163 "Offset of field: ",
5164 stringify!(rb_trace_arg_struct),
5165 "::",
5166 stringify!(event)
5167 )
5168 );
5169 assert_eq!(
5170 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).th as *const _ as usize },
5171 8usize,
5172 concat!(
5173 "Offset of field: ",
5174 stringify!(rb_trace_arg_struct),
5175 "::",
5176 stringify!(th)
5177 )
5178 );
5179 assert_eq!(
5180 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).cfp as *const _ as usize },
5181 16usize,
5182 concat!(
5183 "Offset of field: ",
5184 stringify!(rb_trace_arg_struct),
5185 "::",
5186 stringify!(cfp)
5187 )
5188 );
5189 assert_eq!(
5190 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).self_ as *const _ as usize },
5191 24usize,
5192 concat!(
5193 "Offset of field: ",
5194 stringify!(rb_trace_arg_struct),
5195 "::",
5196 stringify!(self_)
5197 )
5198 );
5199 assert_eq!(
5200 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).id as *const _ as usize },
5201 32usize,
5202 concat!(
5203 "Offset of field: ",
5204 stringify!(rb_trace_arg_struct),
5205 "::",
5206 stringify!(id)
5207 )
5208 );
5209 assert_eq!(
5210 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).klass as *const _ as usize },
5211 40usize,
5212 concat!(
5213 "Offset of field: ",
5214 stringify!(rb_trace_arg_struct),
5215 "::",
5216 stringify!(klass)
5217 )
5218 );
5219 assert_eq!(
5220 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).data as *const _ as usize },
5221 48usize,
5222 concat!(
5223 "Offset of field: ",
5224 stringify!(rb_trace_arg_struct),
5225 "::",
5226 stringify!(data)
5227 )
5228 );
5229 assert_eq!(
5230 unsafe {
5231 &(*(::std::ptr::null::<rb_trace_arg_struct>())).klass_solved as *const _ as usize
5232 },
5233 56usize,
5234 concat!(
5235 "Offset of field: ",
5236 stringify!(rb_trace_arg_struct),
5237 "::",
5238 stringify!(klass_solved)
5239 )
5240 );
5241 assert_eq!(
5242 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).lineno as *const _ as usize },
5243 60usize,
5244 concat!(
5245 "Offset of field: ",
5246 stringify!(rb_trace_arg_struct),
5247 "::",
5248 stringify!(lineno)
5249 )
5250 );
5251 assert_eq!(
5252 unsafe { &(*(::std::ptr::null::<rb_trace_arg_struct>())).path as *const _ as usize },
5253 64usize,
5254 concat!(
5255 "Offset of field: ",
5256 stringify!(rb_trace_arg_struct),
5257 "::",
5258 stringify!(path)
5259 )
5260 );
5261}
5262#[repr(C)]
5263#[derive(Debug, Copy, Clone)]
5264pub struct rb_compile_option_struct {
5265 pub inline_const_cache: ::std::os::raw::c_int,
5266 pub peephole_optimization: ::std::os::raw::c_int,
5267 pub tailcall_optimization: ::std::os::raw::c_int,
5268 pub specialized_instruction: ::std::os::raw::c_int,
5269 pub operands_unification: ::std::os::raw::c_int,
5270 pub instructions_unification: ::std::os::raw::c_int,
5271 pub stack_caching: ::std::os::raw::c_int,
5272 pub trace_instruction: ::std::os::raw::c_int,
5273 pub debug_level: ::std::os::raw::c_int,
5274}
5275#[test]
5276fn bindgen_test_layout_rb_compile_option_struct() {
5277 assert_eq!(
5278 ::std::mem::size_of::<rb_compile_option_struct>(),
5279 36usize,
5280 concat!("Size of: ", stringify!(rb_compile_option_struct))
5281 );
5282 assert_eq!(
5283 ::std::mem::align_of::<rb_compile_option_struct>(),
5284 4usize,
5285 concat!("Alignment of ", stringify!(rb_compile_option_struct))
5286 );
5287 assert_eq!(
5288 unsafe {
5289 &(*(::std::ptr::null::<rb_compile_option_struct>())).inline_const_cache as *const _
5290 as usize
5291 },
5292 0usize,
5293 concat!(
5294 "Offset of field: ",
5295 stringify!(rb_compile_option_struct),
5296 "::",
5297 stringify!(inline_const_cache)
5298 )
5299 );
5300 assert_eq!(
5301 unsafe {
5302 &(*(::std::ptr::null::<rb_compile_option_struct>())).peephole_optimization as *const _
5303 as usize
5304 },
5305 4usize,
5306 concat!(
5307 "Offset of field: ",
5308 stringify!(rb_compile_option_struct),
5309 "::",
5310 stringify!(peephole_optimization)
5311 )
5312 );
5313 assert_eq!(
5314 unsafe {
5315 &(*(::std::ptr::null::<rb_compile_option_struct>())).tailcall_optimization as *const _
5316 as usize
5317 },
5318 8usize,
5319 concat!(
5320 "Offset of field: ",
5321 stringify!(rb_compile_option_struct),
5322 "::",
5323 stringify!(tailcall_optimization)
5324 )
5325 );
5326 assert_eq!(
5327 unsafe {
5328 &(*(::std::ptr::null::<rb_compile_option_struct>())).specialized_instruction as *const _
5329 as usize
5330 },
5331 12usize,
5332 concat!(
5333 "Offset of field: ",
5334 stringify!(rb_compile_option_struct),
5335 "::",
5336 stringify!(specialized_instruction)
5337 )
5338 );
5339 assert_eq!(
5340 unsafe {
5341 &(*(::std::ptr::null::<rb_compile_option_struct>())).operands_unification as *const _
5342 as usize
5343 },
5344 16usize,
5345 concat!(
5346 "Offset of field: ",
5347 stringify!(rb_compile_option_struct),
5348 "::",
5349 stringify!(operands_unification)
5350 )
5351 );
5352 assert_eq!(
5353 unsafe {
5354 &(*(::std::ptr::null::<rb_compile_option_struct>())).instructions_unification
5355 as *const _ as usize
5356 },
5357 20usize,
5358 concat!(
5359 "Offset of field: ",
5360 stringify!(rb_compile_option_struct),
5361 "::",
5362 stringify!(instructions_unification)
5363 )
5364 );
5365 assert_eq!(
5366 unsafe {
5367 &(*(::std::ptr::null::<rb_compile_option_struct>())).stack_caching as *const _ as usize
5368 },
5369 24usize,
5370 concat!(
5371 "Offset of field: ",
5372 stringify!(rb_compile_option_struct),
5373 "::",
5374 stringify!(stack_caching)
5375 )
5376 );
5377 assert_eq!(
5378 unsafe {
5379 &(*(::std::ptr::null::<rb_compile_option_struct>())).trace_instruction as *const _
5380 as usize
5381 },
5382 28usize,
5383 concat!(
5384 "Offset of field: ",
5385 stringify!(rb_compile_option_struct),
5386 "::",
5387 stringify!(trace_instruction)
5388 )
5389 );
5390 assert_eq!(
5391 unsafe {
5392 &(*(::std::ptr::null::<rb_compile_option_struct>())).debug_level as *const _ as usize
5393 },
5394 32usize,
5395 concat!(
5396 "Offset of field: ",
5397 stringify!(rb_compile_option_struct),
5398 "::",
5399 stringify!(debug_level)
5400 )
5401 );
5402}
5403#[repr(C)]
5404#[derive(Debug, Copy, Clone)]
5405pub struct iseq_line_info_entry {
5406 pub position: ::std::os::raw::c_uint,
5407 pub line_no: ::std::os::raw::c_uint,
5408}
5409#[test]
5410fn bindgen_test_layout_iseq_line_info_entry() {
5411 assert_eq!(
5412 ::std::mem::size_of::<iseq_line_info_entry>(),
5413 8usize,
5414 concat!("Size of: ", stringify!(iseq_line_info_entry))
5415 );
5416 assert_eq!(
5417 ::std::mem::align_of::<iseq_line_info_entry>(),
5418 4usize,
5419 concat!("Alignment of ", stringify!(iseq_line_info_entry))
5420 );
5421 assert_eq!(
5422 unsafe { &(*(::std::ptr::null::<iseq_line_info_entry>())).position as *const _ as usize },
5423 0usize,
5424 concat!(
5425 "Offset of field: ",
5426 stringify!(iseq_line_info_entry),
5427 "::",
5428 stringify!(position)
5429 )
5430 );
5431 assert_eq!(
5432 unsafe { &(*(::std::ptr::null::<iseq_line_info_entry>())).line_no as *const _ as usize },
5433 4usize,
5434 concat!(
5435 "Offset of field: ",
5436 stringify!(iseq_line_info_entry),
5437 "::",
5438 stringify!(line_no)
5439 )
5440 );
5441}
5442#[repr(C)]
5443#[derive(Debug, Copy, Clone)]
5444pub struct iseq_catch_table_entry {
5445 pub type_: iseq_catch_table_entry_catch_type,
5446 pub iseq: VALUE,
5447 pub start: ::std::os::raw::c_ulong,
5448 pub end: ::std::os::raw::c_ulong,
5449 pub cont: ::std::os::raw::c_ulong,
5450 pub sp: ::std::os::raw::c_ulong,
5451}
5452pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_RESCUE: iseq_catch_table_entry_catch_type =
5453 3;
5454pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_ENSURE: iseq_catch_table_entry_catch_type =
5455 5;
5456pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_RETRY: iseq_catch_table_entry_catch_type = 7;
5457pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_BREAK: iseq_catch_table_entry_catch_type = 9;
5458pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_REDO: iseq_catch_table_entry_catch_type = 11;
5459pub const iseq_catch_table_entry_catch_type_CATCH_TYPE_NEXT: iseq_catch_table_entry_catch_type = 13;
5460pub type iseq_catch_table_entry_catch_type = ::std::os::raw::c_uint;
5461#[test]
5462fn bindgen_test_layout_iseq_catch_table_entry() {
5463 assert_eq!(
5464 ::std::mem::size_of::<iseq_catch_table_entry>(),
5465 48usize,
5466 concat!("Size of: ", stringify!(iseq_catch_table_entry))
5467 );
5468 assert_eq!(
5469 ::std::mem::align_of::<iseq_catch_table_entry>(),
5470 8usize,
5471 concat!("Alignment of ", stringify!(iseq_catch_table_entry))
5472 );
5473 assert_eq!(
5474 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).type_ as *const _ as usize },
5475 0usize,
5476 concat!(
5477 "Offset of field: ",
5478 stringify!(iseq_catch_table_entry),
5479 "::",
5480 stringify!(type_)
5481 )
5482 );
5483 assert_eq!(
5484 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).iseq as *const _ as usize },
5485 8usize,
5486 concat!(
5487 "Offset of field: ",
5488 stringify!(iseq_catch_table_entry),
5489 "::",
5490 stringify!(iseq)
5491 )
5492 );
5493 assert_eq!(
5494 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).start as *const _ as usize },
5495 16usize,
5496 concat!(
5497 "Offset of field: ",
5498 stringify!(iseq_catch_table_entry),
5499 "::",
5500 stringify!(start)
5501 )
5502 );
5503 assert_eq!(
5504 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).end as *const _ as usize },
5505 24usize,
5506 concat!(
5507 "Offset of field: ",
5508 stringify!(iseq_catch_table_entry),
5509 "::",
5510 stringify!(end)
5511 )
5512 );
5513 assert_eq!(
5514 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).cont as *const _ as usize },
5515 32usize,
5516 concat!(
5517 "Offset of field: ",
5518 stringify!(iseq_catch_table_entry),
5519 "::",
5520 stringify!(cont)
5521 )
5522 );
5523 assert_eq!(
5524 unsafe { &(*(::std::ptr::null::<iseq_catch_table_entry>())).sp as *const _ as usize },
5525 40usize,
5526 concat!(
5527 "Offset of field: ",
5528 stringify!(iseq_catch_table_entry),
5529 "::",
5530 stringify!(sp)
5531 )
5532 );
5533}
5534#[repr(C)]
5535#[derive(Debug, Copy, Clone)]
5536pub struct iseq_compile_data_storage {
5537 pub next: *mut iseq_compile_data_storage,
5538 pub pos: ::std::os::raw::c_ulong,
5539 pub size: ::std::os::raw::c_ulong,
5540 pub buff: *mut ::std::os::raw::c_char,
5541}
5542#[test]
5543fn bindgen_test_layout_iseq_compile_data_storage() {
5544 assert_eq!(
5545 ::std::mem::size_of::<iseq_compile_data_storage>(),
5546 32usize,
5547 concat!("Size of: ", stringify!(iseq_compile_data_storage))
5548 );
5549 assert_eq!(
5550 ::std::mem::align_of::<iseq_compile_data_storage>(),
5551 8usize,
5552 concat!("Alignment of ", stringify!(iseq_compile_data_storage))
5553 );
5554 assert_eq!(
5555 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).next as *const _ as usize },
5556 0usize,
5557 concat!(
5558 "Offset of field: ",
5559 stringify!(iseq_compile_data_storage),
5560 "::",
5561 stringify!(next)
5562 )
5563 );
5564 assert_eq!(
5565 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).pos as *const _ as usize },
5566 8usize,
5567 concat!(
5568 "Offset of field: ",
5569 stringify!(iseq_compile_data_storage),
5570 "::",
5571 stringify!(pos)
5572 )
5573 );
5574 assert_eq!(
5575 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).size as *const _ as usize },
5576 16usize,
5577 concat!(
5578 "Offset of field: ",
5579 stringify!(iseq_compile_data_storage),
5580 "::",
5581 stringify!(size)
5582 )
5583 );
5584 assert_eq!(
5585 unsafe { &(*(::std::ptr::null::<iseq_compile_data_storage>())).buff as *const _ as usize },
5586 24usize,
5587 concat!(
5588 "Offset of field: ",
5589 stringify!(iseq_compile_data_storage),
5590 "::",
5591 stringify!(buff)
5592 )
5593 );
5594}
5595#[repr(C)]
5596#[derive(Debug, Copy, Clone)]
5597pub struct iseq_compile_data {
5598 pub err_info: VALUE,
5599 pub mark_ary: VALUE,
5600 pub catch_table_ary: VALUE,
5601 pub start_label: *mut iseq_label_data,
5602 pub end_label: *mut iseq_label_data,
5603 pub redo_label: *mut iseq_label_data,
5604 pub current_block: VALUE,
5605 pub ensure_node: VALUE,
5606 pub for_iseq: VALUE,
5607 pub ensure_node_stack: *mut iseq_compile_data_ensure_node_stack,
5608 pub loopval_popped: ::std::os::raw::c_int,
5609 pub cached_const: ::std::os::raw::c_int,
5610 pub storage_head: *mut iseq_compile_data_storage,
5611 pub storage_current: *mut iseq_compile_data_storage,
5612 pub last_line: ::std::os::raw::c_int,
5613 pub last_coverable_line: ::std::os::raw::c_int,
5614 pub label_no: ::std::os::raw::c_int,
5615 pub node_level: ::std::os::raw::c_int,
5616 pub option: *const rb_compile_option_t,
5617}
5618#[test]
5619fn bindgen_test_layout_iseq_compile_data() {
5620 assert_eq!(
5621 ::std::mem::size_of::<iseq_compile_data>(),
5622 128usize,
5623 concat!("Size of: ", stringify!(iseq_compile_data))
5624 );
5625 assert_eq!(
5626 ::std::mem::align_of::<iseq_compile_data>(),
5627 8usize,
5628 concat!("Alignment of ", stringify!(iseq_compile_data))
5629 );
5630 assert_eq!(
5631 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).err_info as *const _ as usize },
5632 0usize,
5633 concat!(
5634 "Offset of field: ",
5635 stringify!(iseq_compile_data),
5636 "::",
5637 stringify!(err_info)
5638 )
5639 );
5640 assert_eq!(
5641 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).mark_ary as *const _ as usize },
5642 8usize,
5643 concat!(
5644 "Offset of field: ",
5645 stringify!(iseq_compile_data),
5646 "::",
5647 stringify!(mark_ary)
5648 )
5649 );
5650 assert_eq!(
5651 unsafe {
5652 &(*(::std::ptr::null::<iseq_compile_data>())).catch_table_ary as *const _ as usize
5653 },
5654 16usize,
5655 concat!(
5656 "Offset of field: ",
5657 stringify!(iseq_compile_data),
5658 "::",
5659 stringify!(catch_table_ary)
5660 )
5661 );
5662 assert_eq!(
5663 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).start_label as *const _ as usize },
5664 24usize,
5665 concat!(
5666 "Offset of field: ",
5667 stringify!(iseq_compile_data),
5668 "::",
5669 stringify!(start_label)
5670 )
5671 );
5672 assert_eq!(
5673 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).end_label as *const _ as usize },
5674 32usize,
5675 concat!(
5676 "Offset of field: ",
5677 stringify!(iseq_compile_data),
5678 "::",
5679 stringify!(end_label)
5680 )
5681 );
5682 assert_eq!(
5683 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).redo_label as *const _ as usize },
5684 40usize,
5685 concat!(
5686 "Offset of field: ",
5687 stringify!(iseq_compile_data),
5688 "::",
5689 stringify!(redo_label)
5690 )
5691 );
5692 assert_eq!(
5693 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).current_block as *const _ as usize },
5694 48usize,
5695 concat!(
5696 "Offset of field: ",
5697 stringify!(iseq_compile_data),
5698 "::",
5699 stringify!(current_block)
5700 )
5701 );
5702 assert_eq!(
5703 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).ensure_node as *const _ as usize },
5704 56usize,
5705 concat!(
5706 "Offset of field: ",
5707 stringify!(iseq_compile_data),
5708 "::",
5709 stringify!(ensure_node)
5710 )
5711 );
5712 assert_eq!(
5713 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).for_iseq as *const _ as usize },
5714 64usize,
5715 concat!(
5716 "Offset of field: ",
5717 stringify!(iseq_compile_data),
5718 "::",
5719 stringify!(for_iseq)
5720 )
5721 );
5722 assert_eq!(
5723 unsafe {
5724 &(*(::std::ptr::null::<iseq_compile_data>())).ensure_node_stack as *const _ as usize
5725 },
5726 72usize,
5727 concat!(
5728 "Offset of field: ",
5729 stringify!(iseq_compile_data),
5730 "::",
5731 stringify!(ensure_node_stack)
5732 )
5733 );
5734 assert_eq!(
5735 unsafe {
5736 &(*(::std::ptr::null::<iseq_compile_data>())).loopval_popped as *const _ as usize
5737 },
5738 80usize,
5739 concat!(
5740 "Offset of field: ",
5741 stringify!(iseq_compile_data),
5742 "::",
5743 stringify!(loopval_popped)
5744 )
5745 );
5746 assert_eq!(
5747 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).cached_const as *const _ as usize },
5748 84usize,
5749 concat!(
5750 "Offset of field: ",
5751 stringify!(iseq_compile_data),
5752 "::",
5753 stringify!(cached_const)
5754 )
5755 );
5756 assert_eq!(
5757 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).storage_head as *const _ as usize },
5758 88usize,
5759 concat!(
5760 "Offset of field: ",
5761 stringify!(iseq_compile_data),
5762 "::",
5763 stringify!(storage_head)
5764 )
5765 );
5766 assert_eq!(
5767 unsafe {
5768 &(*(::std::ptr::null::<iseq_compile_data>())).storage_current as *const _ as usize
5769 },
5770 96usize,
5771 concat!(
5772 "Offset of field: ",
5773 stringify!(iseq_compile_data),
5774 "::",
5775 stringify!(storage_current)
5776 )
5777 );
5778 assert_eq!(
5779 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).last_line as *const _ as usize },
5780 104usize,
5781 concat!(
5782 "Offset of field: ",
5783 stringify!(iseq_compile_data),
5784 "::",
5785 stringify!(last_line)
5786 )
5787 );
5788 assert_eq!(
5789 unsafe {
5790 &(*(::std::ptr::null::<iseq_compile_data>())).last_coverable_line as *const _ as usize
5791 },
5792 108usize,
5793 concat!(
5794 "Offset of field: ",
5795 stringify!(iseq_compile_data),
5796 "::",
5797 stringify!(last_coverable_line)
5798 )
5799 );
5800 assert_eq!(
5801 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).label_no as *const _ as usize },
5802 112usize,
5803 concat!(
5804 "Offset of field: ",
5805 stringify!(iseq_compile_data),
5806 "::",
5807 stringify!(label_no)
5808 )
5809 );
5810 assert_eq!(
5811 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).node_level as *const _ as usize },
5812 116usize,
5813 concat!(
5814 "Offset of field: ",
5815 stringify!(iseq_compile_data),
5816 "::",
5817 stringify!(node_level)
5818 )
5819 );
5820 assert_eq!(
5821 unsafe { &(*(::std::ptr::null::<iseq_compile_data>())).option as *const _ as usize },
5822 120usize,
5823 concat!(
5824 "Offset of field: ",
5825 stringify!(iseq_compile_data),
5826 "::",
5827 stringify!(option)
5828 )
5829 );
5830}
5831#[repr(C)]
5832#[derive(Debug, Copy, Clone)]
5833pub struct st_table_entry {
5834 pub _address: u8,
5835}
5836#[repr(C)]
5837#[derive(Debug, Copy, Clone)]
5838pub struct st_packed_entry {
5839 pub _address: u8,
5840}
5841#[repr(C)]
5842#[derive(Debug, Copy, Clone)]
5843pub struct rb_event_hook_struct {
5844 pub _address: u8,
5845}
5846#[repr(C)]
5847#[derive(Debug, Copy, Clone)]
5848pub struct iseq_label_data {
5849 pub _address: u8,
5850}