@@ -142,7 +142,7 @@ const SINGLE_VARIANT_VIRTUAL_DISR: u64 = 0;
142
142
/// let begin = variant_field.field("DISCR_BEGIN");
143
143
/// let end = variant_field.field("DISCR_END");
144
144
///
145
- /// if tag >= begin && tag <= end {
145
+ /// if is_in_range( tag, begin, end) {
146
146
/// return (variant_field.field("NAME"), variant_field.value);
147
147
/// }
148
148
/// }
@@ -169,7 +169,7 @@ const SINGLE_VARIANT_VIRTUAL_DISR: u64 = 0;
169
169
/// let end = (variant_field.field("DISCR128_END_LO").value as u128) |
170
170
/// (variant_field.field("DISCR128_END_HI").value as u128 << 64);
171
171
///
172
- /// if tag >= begin && tag <= end {
172
+ /// if is_in_range( tag, begin, end) {
173
173
/// return (variant_field.field("NAME"), variant_field.value);
174
174
/// }
175
175
/// }
@@ -180,6 +180,16 @@ const SINGLE_VARIANT_VIRTUAL_DISR: u64 = 0;
180
180
/// unreachable!();
181
181
/// }
182
182
///
183
+ /// // Check if a value is within the given range
184
+ /// // (where the range might wrap around the value space)
185
+ /// fn is_in_range(value, start, end) -> bool {
186
+ /// if start < end {
187
+ /// value >= start && value <= end
188
+ /// } else {
189
+ /// value >= start || value <= end
190
+ /// }
191
+ /// }
192
+ ///
183
193
/// ```
184
194
pub ( super ) fn build_enum_type_di_node < ' ll , ' tcx > (
185
195
cx : & CodegenCx < ' ll , ' tcx > ,
0 commit comments