File tree Expand file tree Collapse file tree 7 files changed +45
-33
lines changed
crates/rb-sys/src/stable_api Expand file tree Collapse file tree 7 files changed +45
-33
lines changed Original file line number Diff line number Diff line change @@ -88,6 +88,13 @@ impl StableApiDefinition for Definition {
88
88
ptr
89
89
}
90
90
91
+ #[ inline]
92
+ unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
93
+ let rbasic = obj as * const crate :: RBasic ;
94
+
95
+ ( ( * rbasic) . flags & crate :: ruby_fl_type:: RUBY_FL_USER1 as VALUE ) != 0
96
+ }
97
+
91
98
#[ inline]
92
99
fn special_const_p ( & self , value : VALUE ) -> bool {
93
100
let is_immediate = value & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
@@ -96,11 +103,6 @@ impl StableApiDefinition for Definition {
96
103
is_immediate || !test
97
104
}
98
105
99
- #[ inline]
100
- unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
101
- crate :: rb_big_sign ( obj) == 1
102
- }
103
-
104
106
#[ inline]
105
107
unsafe fn builtin_type ( & self , obj : VALUE ) -> crate :: ruby_value_type {
106
108
let rbasic = obj as * const crate :: RBasic ;
Original file line number Diff line number Diff line change @@ -88,6 +88,13 @@ impl StableApiDefinition for Definition {
88
88
ptr
89
89
}
90
90
91
+ #[ inline]
92
+ unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
93
+ let rbasic = obj as * const crate :: RBasic ;
94
+
95
+ ( ( * rbasic) . flags & crate :: ruby_fl_type:: RUBY_FL_USER1 as VALUE ) != 0
96
+ }
97
+
91
98
#[ inline]
92
99
fn special_const_p ( & self , value : VALUE ) -> bool {
93
100
let is_immediate = value & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
@@ -96,11 +103,6 @@ impl StableApiDefinition for Definition {
96
103
is_immediate || !test
97
104
}
98
105
99
- #[ inline]
100
- unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
101
- crate :: rb_big_sign ( obj) == 1
102
- }
103
-
104
106
#[ inline]
105
107
unsafe fn builtin_type ( & self , obj : VALUE ) -> crate :: ruby_value_type {
106
108
let rbasic = obj as * const crate :: RBasic ;
Original file line number Diff line number Diff line change @@ -96,6 +96,13 @@ impl StableApiDefinition for Definition {
96
96
}
97
97
}
98
98
99
+ #[ inline]
100
+ unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
101
+ let rbasic = obj as * const crate :: RBasic ;
102
+
103
+ ( ( * rbasic) . flags & crate :: ruby_fl_type:: RUBY_FL_USER1 as VALUE ) != 0
104
+ }
105
+
99
106
#[ inline]
100
107
fn special_const_p ( & self , value : VALUE ) -> bool {
101
108
let is_immediate = value & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
@@ -104,11 +111,6 @@ impl StableApiDefinition for Definition {
104
111
is_immediate || !test
105
112
}
106
113
107
- #[ inline]
108
- unsafe fn bignum_negative_p ( & self , obj : VALUE ) -> bool {
109
- crate :: rb_big_sign ( obj) == 0
110
- }
111
-
112
114
#[ inline]
113
115
unsafe fn builtin_type ( & self , obj : VALUE ) -> crate :: ruby_value_type {
114
116
let rbasic = obj as * const crate :: RBasic ;
Original file line number Diff line number Diff line change @@ -89,6 +89,13 @@ impl StableApiDefinition for Definition {
89
89
ret
90
90
}
91
91
92
+ #[ inline]
93
+ unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
94
+ let rbasic = obj as * const crate :: RBasic ;
95
+
96
+ ( ( * rbasic) . flags & crate :: ruby_fl_type:: RUBY_FL_USER1 as VALUE ) != 0
97
+ }
98
+
92
99
#[ inline]
93
100
fn special_const_p ( & self , value : VALUE ) -> bool {
94
101
let is_immediate = value & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
@@ -97,11 +104,6 @@ impl StableApiDefinition for Definition {
97
104
is_immediate || !test
98
105
}
99
106
100
- #[ inline]
101
- unsafe fn bignum_negative_p ( & self , obj : VALUE ) -> bool {
102
- crate :: rb_big_sign ( obj) == 0
103
- }
104
-
105
107
#[ inline]
106
108
unsafe fn builtin_type ( & self , obj : VALUE ) -> crate :: ruby_value_type {
107
109
let rbasic = obj as * const crate :: RBasic ;
Original file line number Diff line number Diff line change @@ -83,6 +83,13 @@ impl StableApiDefinition for Definition {
83
83
ptr
84
84
}
85
85
86
+ #[ inline]
87
+ unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
88
+ let rbasic = obj as * const crate :: RBasic ;
89
+
90
+ ( ( * rbasic) . flags & crate :: ruby_fl_type:: RUBY_FL_USER1 as VALUE ) != 0
91
+ }
92
+
86
93
#[ inline]
87
94
fn special_const_p ( & self , value : VALUE ) -> bool {
88
95
let is_immediate = ( value) & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
@@ -91,11 +98,6 @@ impl StableApiDefinition for Definition {
91
98
is_immediate || !test
92
99
}
93
100
94
- #[ inline]
95
- unsafe fn bignum_negative_p ( & self , obj : VALUE ) -> bool {
96
- crate :: rb_big_sign ( obj) == 0
97
- }
98
-
99
101
#[ inline]
100
102
unsafe fn builtin_type ( & self , obj : VALUE ) -> crate :: ruby_value_type {
101
103
let rbasic = obj as * const crate :: RBasic ;
Original file line number Diff line number Diff line change @@ -77,18 +77,18 @@ impl StableApiDefinition for Definition {
77
77
}
78
78
79
79
#[ inline]
80
- fn special_const_p ( & self , value : VALUE ) -> bool {
81
- let is_immediate = ( value) & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
82
- let test = ( value & !( crate :: Qnil as VALUE ) ) != 0 ;
80
+ unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
81
+ let rbasic = obj as * const crate :: RBasic ;
83
82
84
- is_immediate || !test
83
+ ( ( * rbasic ) . flags & crate :: ruby_fl_type :: RUBY_FL_USER1 as VALUE ) != 0
85
84
}
86
85
87
86
#[ inline]
88
- unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
89
- let rbasic = obj as * const crate :: RBasic ;
87
+ fn special_const_p ( & self , value : VALUE ) -> bool {
88
+ let is_immediate = ( value) & ( crate :: special_consts:: IMMEDIATE_MASK as VALUE ) != 0 ;
89
+ let test = ( value & !( crate :: Qnil as VALUE ) ) != 0 ;
90
90
91
- ( ( * rbasic ) . flags & crate :: ruby_fl_type :: RUBY_FL_USER1 as VALUE ) != 0
91
+ is_immediate || !test
92
92
}
93
93
94
94
#[ inline]
Original file line number Diff line number Diff line change @@ -86,7 +86,9 @@ impl StableApiDefinition for Definition {
86
86
87
87
#[ inline]
88
88
unsafe fn bignum_positive_p ( & self , obj : VALUE ) -> bool {
89
- crate :: rb_big_sign ( obj) == 1
89
+ let rbasic = obj as * const crate :: RBasic ;
90
+
91
+ ( ( * rbasic) . flags & crate :: ruby_fl_type:: RUBY_FL_USER1 as VALUE ) != 0
90
92
}
91
93
92
94
#[ inline]
You can’t perform that action at this time.
0 commit comments