1use crate::{R_xlen_t, Rcomplex, SEXP, SEXPTYPE};
38use core::ffi::c_void;
39
40#[derive(#[automatically_derived]
#[doc(hidden)]
unsafe impl ::core::clone::TrivialClone for AltrepGuard { }
#[automatically_derived]
impl ::core::clone::Clone for AltrepGuard {
#[inline]
fn clone(&self) -> Self { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for AltrepGuard { }Copy, #[automatically_derived]
impl ::core::marker::StructuralPartialEq for AltrepGuard { }
#[automatically_derived]
impl ::core::cmp::PartialEq for AltrepGuard {
#[inline]
fn eq(&self, other: &Self) -> bool {
::core::intrinsics::discriminant_value(self) ==
::core::intrinsics::discriminant_value(other)
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for AltrepGuard { }Eq, #[automatically_derived]
impl ::core::fmt::Debug for AltrepGuard {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
AltrepGuard::Unsafe => "Unsafe",
AltrepGuard::RustUnwind => "RustUnwind",
AltrepGuard::RUnwind => "RUnwind",
})
}
}Debug)]
61pub enum AltrepGuard {
62 Unsafe,
64 RustUnwind,
66 RUnwind,
69}
70pub trait Altrep {
78 const GUARD: AltrepGuard = AltrepGuard::RUnwind;
90
91 fn length(x: SEXP) -> R_xlen_t;
95
96 const HAS_SERIALIZED_STATE: bool = false;
99 fn serialized_state(_x: SEXP) -> SEXP {
101 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_SERIALIZED_STATE = false")));
}unreachable!("HAS_SERIALIZED_STATE = false")
102 }
103
104 const HAS_UNSERIALIZE: bool = false;
106 fn unserialize(_class: SEXP, _state: SEXP) -> SEXP {
108 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_UNSERIALIZE = false")));
}unreachable!("HAS_UNSERIALIZE = false")
109 }
110
111 const HAS_UNSERIALIZE_EX: bool = false;
113 fn unserialize_ex(_class: SEXP, _state: SEXP, _attr: SEXP, _objf: i32, _levs: i32) -> SEXP {
115 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_UNSERIALIZE_EX = false")));
}unreachable!("HAS_UNSERIALIZE_EX = false")
116 }
117
118 const HAS_DUPLICATE: bool = false;
121 fn duplicate(_x: SEXP, _deep: bool) -> SEXP {
123 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_DUPLICATE = false")));
}unreachable!("HAS_DUPLICATE = false")
124 }
125
126 const HAS_DUPLICATE_EX: bool = false;
128 fn duplicate_ex(_x: SEXP, _deep: bool) -> SEXP {
130 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_DUPLICATE_EX = false")));
}unreachable!("HAS_DUPLICATE_EX = false")
131 }
132
133 const HAS_COERCE: bool = false;
136 fn coerce(_x: SEXP, _to_type: SEXPTYPE) -> SEXP {
138 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_COERCE = false")));
}unreachable!("HAS_COERCE = false")
139 }
140
141 const HAS_INSPECT: bool = false;
144 fn inspect(
146 _x: SEXP,
147 _pre: i32,
148 _deep: i32,
149 _pvec: i32,
150 _inspect_subtree: Option<unsafe extern "C-unwind" fn(SEXP, i32, i32, i32)>,
151 ) -> bool {
152 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_INSPECT = false")));
}unreachable!("HAS_INSPECT = false")
153 }
154}
155pub trait AltVec: Altrep {
163 const HAS_DATAPTR: bool = false;
165 fn dataptr(_x: SEXP, _writable: bool) -> *mut c_void {
167 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_DATAPTR = false")));
}unreachable!("HAS_DATAPTR = false")
168 }
169
170 const HAS_DATAPTR_OR_NULL: bool = false;
172 fn dataptr_or_null(_x: SEXP) -> *const c_void {
174 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_DATAPTR_OR_NULL = false")));
}unreachable!("HAS_DATAPTR_OR_NULL = false")
175 }
176
177 const HAS_EXTRACT_SUBSET: bool = false;
179 fn extract_subset(_x: SEXP, _indx: SEXP, _call: SEXP) -> SEXP {
181 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_EXTRACT_SUBSET = false")));
}unreachable!("HAS_EXTRACT_SUBSET = false")
182 }
183}
184pub trait AltInteger: AltVec {
196 const HAS_ELT: bool = false;
198 fn elt(_x: SEXP, _i: R_xlen_t) -> i32 {
200 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_ELT = false")));
}unreachable!("HAS_ELT = false")
201 }
202
203 const HAS_GET_REGION: bool = false;
205 fn get_region(_x: SEXP, _i: R_xlen_t, _n: R_xlen_t, _buf: &mut [i32]) -> R_xlen_t {
207 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_GET_REGION = false")));
}unreachable!("HAS_GET_REGION = false")
208 }
209
210 const HAS_IS_SORTED: bool = false;
212 fn is_sorted(_x: SEXP) -> i32 {
214 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_IS_SORTED = false")));
}unreachable!("HAS_IS_SORTED = false")
215 }
216
217 const HAS_NO_NA: bool = false;
219 fn no_na(_x: SEXP) -> i32 {
221 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_NO_NA = false")));
}unreachable!("HAS_NO_NA = false")
222 }
223
224 const HAS_SUM: bool = false;
226 fn sum(_x: SEXP, _narm: bool) -> SEXP {
228 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_SUM = false")));
}unreachable!("HAS_SUM = false")
229 }
230
231 const HAS_MIN: bool = false;
233 fn min(_x: SEXP, _narm: bool) -> SEXP {
235 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_MIN = false")));
}unreachable!("HAS_MIN = false")
236 }
237
238 const HAS_MAX: bool = false;
240 fn max(_x: SEXP, _narm: bool) -> SEXP {
242 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_MAX = false")));
}unreachable!("HAS_MAX = false")
243 }
244}
245pub trait AltReal: AltVec {
251 const HAS_ELT: bool = false;
253 fn elt(_x: SEXP, _i: R_xlen_t) -> f64 {
255 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_ELT = false")));
}unreachable!("HAS_ELT = false")
256 }
257
258 const HAS_GET_REGION: bool = false;
260 fn get_region(_x: SEXP, _i: R_xlen_t, _n: R_xlen_t, _buf: &mut [f64]) -> R_xlen_t {
262 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_GET_REGION = false")));
}unreachable!("HAS_GET_REGION = false")
263 }
264
265 const HAS_IS_SORTED: bool = false;
267 fn is_sorted(_x: SEXP) -> i32 {
269 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_IS_SORTED = false")));
}unreachable!("HAS_IS_SORTED = false")
270 }
271
272 const HAS_NO_NA: bool = false;
274 fn no_na(_x: SEXP) -> i32 {
276 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_NO_NA = false")));
}unreachable!("HAS_NO_NA = false")
277 }
278
279 const HAS_SUM: bool = false;
281 fn sum(_x: SEXP, _narm: bool) -> SEXP {
283 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_SUM = false")));
}unreachable!("HAS_SUM = false")
284 }
285
286 const HAS_MIN: bool = false;
288 fn min(_x: SEXP, _narm: bool) -> SEXP {
290 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_MIN = false")));
}unreachable!("HAS_MIN = false")
291 }
292
293 const HAS_MAX: bool = false;
295 fn max(_x: SEXP, _narm: bool) -> SEXP {
297 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_MAX = false")));
}unreachable!("HAS_MAX = false")
298 }
299}
300pub trait AltLogical: AltVec {
306 const HAS_ELT: bool = false;
308 fn elt(_x: SEXP, _i: R_xlen_t) -> i32 {
310 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_ELT = false")));
}unreachable!("HAS_ELT = false")
311 }
312
313 const HAS_GET_REGION: bool = false;
315 fn get_region(_x: SEXP, _i: R_xlen_t, _n: R_xlen_t, _buf: &mut [i32]) -> R_xlen_t {
317 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_GET_REGION = false")));
}unreachable!("HAS_GET_REGION = false")
318 }
319
320 const HAS_IS_SORTED: bool = false;
322 fn is_sorted(_x: SEXP) -> i32 {
324 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_IS_SORTED = false")));
}unreachable!("HAS_IS_SORTED = false")
325 }
326
327 const HAS_NO_NA: bool = false;
329 fn no_na(_x: SEXP) -> i32 {
331 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_NO_NA = false")));
}unreachable!("HAS_NO_NA = false")
332 }
333
334 const HAS_SUM: bool = false;
336 fn sum(_x: SEXP, _narm: bool) -> SEXP {
338 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_SUM = false")));
}unreachable!("HAS_SUM = false")
339 }
340 }
342pub trait AltRaw: AltVec {
348 const HAS_ELT: bool = false;
350 fn elt(_x: SEXP, _i: R_xlen_t) -> u8 {
352 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_ELT = false")));
}unreachable!("HAS_ELT = false")
353 }
354
355 const HAS_GET_REGION: bool = false;
357 fn get_region(_x: SEXP, _i: R_xlen_t, _n: R_xlen_t, _buf: &mut [u8]) -> R_xlen_t {
359 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_GET_REGION = false")));
}unreachable!("HAS_GET_REGION = false")
360 }
361}
362pub trait AltComplex: AltVec {
368 const HAS_ELT: bool = false;
370 fn elt(_x: SEXP, _i: R_xlen_t) -> Rcomplex {
372 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_ELT = false")));
}unreachable!("HAS_ELT = false")
373 }
374
375 const HAS_GET_REGION: bool = false;
377 fn get_region(_x: SEXP, _i: R_xlen_t, _n: R_xlen_t, _buf: &mut [Rcomplex]) -> R_xlen_t {
379 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_GET_REGION = false")));
}unreachable!("HAS_GET_REGION = false")
380 }
381}
382pub trait AltString: AltVec {
391 fn elt(x: SEXP, i: R_xlen_t) -> SEXP;
395
396 const HAS_SET_ELT: bool = false;
399 fn set_elt(_x: SEXP, _i: R_xlen_t, _v: SEXP) {
401 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_SET_ELT = false")));
}unreachable!("HAS_SET_ELT = false")
402 }
403
404 const HAS_IS_SORTED: bool = false;
406 fn is_sorted(_x: SEXP) -> i32 {
408 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_IS_SORTED = false")));
}unreachable!("HAS_IS_SORTED = false")
409 }
410
411 const HAS_NO_NA: bool = false;
413 fn no_na(_x: SEXP) -> i32 {
415 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_NO_NA = false")));
}unreachable!("HAS_NO_NA = false")
416 }
417}
418pub trait AltList: AltVec {
427 fn elt(x: SEXP, i: R_xlen_t) -> SEXP;
431
432 const HAS_SET_ELT: bool = false;
435 fn set_elt(_x: SEXP, _i: R_xlen_t, _v: SEXP) {
437 {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("HAS_SET_ELT = false")));
}unreachable!("HAS_SET_ELT = false")
438 }
439}
440pub const UNKNOWN_SORTEDNESS: i32 = i32::MIN;
446
447pub const KNOWN_UNSORTED: i32 = 0;
449
450pub const SORTED_INCR: i32 = 1;
452
453pub const SORTED_DECR: i32 = -1;
455
456pub const SORTED_INCR_NA_1ST: i32 = 2;
458
459pub const SORTED_DECR_NA_1ST: i32 = -2;
461pub const NA_INTEGER: i32 = i32::MIN;
463pub const NA_LOGICAL: i32 = i32::MIN;
465pub const NA_REAL: f64 = f64::from_bits(0x7FF0_0000_0000_07A2);
467