Skip to content

Commit b26b858

Browse files
Add bindings for 4.2 again (#246)
* Add R4.2 to the CI binding generation * Adds R 4.2 variants for aarch64 and x86 * Update bindings [skip ci] --------- Co-authored-by: andres <afquinteromoreano@gmail.com> Co-authored-by: CGMossa <CGMossa@users.noreply.github.com>
1 parent 09d76ad commit b26b858

15 files changed

+318
-308
lines changed

.github/workflows/test.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,15 @@ jobs:
6060
- {os: windows-latest, r: 'devel', rust-version: 'stable-msvc', target: 'x86_64-pc-windows-gnu', emit-bindings: 'true'}
6161
- {os: windows-latest, r: 'release', rust-version: 'stable-gnu', target: 'x86_64-pc-windows-gnu'}
6262
- {os: windows-latest, r: 'oldrel', rust-version: 'stable-msvc', target: 'x86_64-pc-windows-gnu', emit-bindings: 'true'}
63+
- {os: windows-latest, r: '4.2', rust-version: 'stable-msvc', target: 'x86_64-pc-windows-gnu', emit-bindings: 'true' }
6364

6465
- {os: macOS-latest, r: 'release', rust-version: 'nightly'}
6566
- {os: macOS-latest, r: 'devel', rust-version: 'stable', emit-bindings: 'true'}
6667
- {os: macOS-latest, r: 'oldrel', rust-version: 'stable', emit-bindings: 'true'}
6768
- {os: macOS-latest, r: 'release', rust-version: 'stable', emit-bindings: 'true'}
6869
- {os: macOS-latest, r: 'release', rust-version: 'stable', target: 'x86_64-apple-darwin', skip-tests: 'true', emit-bindings: 'true'}
69-
70+
- {os: macOS-latest, r: '4.2', rust-version: 'stable', emit-bindings: 'true' }
71+
- {os: macOS-latest, r: '4.2', rust-version: 'stable', target: 'x86_64-apple-darwin', skip-tests: 'true', emit-bindings: 'true'}
7072

7173
- {os: ubuntu-latest, r: 'release', rust-version: 'nightly'}
7274
- {os: ubuntu-latest, r: 'release', rust-version: 'stable', emit-bindings: 'true'}
@@ -78,6 +80,8 @@ jobs:
7880
- {os: ubuntu-latest, r: 'oldrel', rust-version: 'stable', emit-bindings: 'true'}
7981
- {os: ubuntu-latest, r: 'oldrel', rust-version: 'stable', target: 'aarch64-unknown-linux-gnu', skip-tests: 'true', emit-bindings: 'true'}
8082

83+
- {os: ubuntu-latest, r: '4.2', rust-version: 'stable', emit-bindings: 'true' }
84+
- {os: ubuntu-latest, r: '4.2', rust-version: 'stable', target: 'aarch64-unknown-linux-gnu', skip-tests: 'true', emit-bindings: 'true'}
8185
env:
8286
RSPM: ${{ matrix.config.rspm }}
8387

@@ -252,7 +256,7 @@ jobs:
252256
steps:
253257
- uses: actions/checkout@v4
254258
with:
255-
ref: ${{ github.event.pull_request.head.ref }}
259+
ref: ${{ github.event.pull_request.head.sha }}
256260
- name: Get Head Commit Message
257261
id: get_head_commit_message
258262
run: echo "HEAD_COMMIT_MESSAGE=$(git show -s --format=%s)" >> "$GITHUB_OUTPUT"

bindings/bindings-linux-aarch64-R4.2.rs

Lines changed: 18 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
/* libR-sys version: 0.7.0 */
44
/* bindgen clang version: Ubuntu clang version 15.0.7 */
5-
/* clang-rs version: Ubuntu clang version 15.0.7 */
65
/* r version: 4.2.3 */
76

87
#[repr(C)]
@@ -258,7 +257,6 @@ pub struct _IO_FILE {
258257
pub _unused2: [::std::os::raw::c_char; 20usize],
259258
}
260259
#[repr(u32)]
261-
#[non_exhaustive]
262260
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
263261
pub enum Rboolean {
264262
#[doc = ", MAYBE"]
@@ -301,7 +299,6 @@ pub struct Rf_RegisteredNativeSymbol {
301299
}
302300
pub type R_RegisteredNativeSymbol = Rf_RegisteredNativeSymbol;
303301
#[repr(u32)]
304-
#[non_exhaustive]
305302
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
306303
pub enum NativeSymbolType {
307304
R_ANY_SYM = 0,
@@ -314,7 +311,6 @@ pub type Rbyte = ::std::os::raw::c_uchar;
314311
#[doc = "type for length of (standard, not long) vectors etc"]
315312
pub type R_len_t = ::std::os::raw::c_int;
316313
#[repr(u32)]
317-
#[non_exhaustive]
318314
#[doc = "------ enum_SEXPTYPE -----"]
319315
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
320316
pub enum SEXPTYPE {
@@ -383,7 +379,6 @@ pub struct R_allocator {
383379
}
384380
pub type R_allocator_t = R_allocator;
385381
#[repr(u32)]
386-
#[non_exhaustive]
387382
#[doc = "../main/character.c :"]
388383
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
389384
pub enum nchar_type {
@@ -392,7 +387,6 @@ pub enum nchar_type {
392387
Width = 2,
393388
}
394389
#[repr(u32)]
395-
#[non_exhaustive]
396390
#[doc = "cetype_t is an identifier reseved by POSIX, but it is\nwell established as public. Could remap by a #define though"]
397391
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
398392
pub enum cetype_t {
@@ -407,7 +401,6 @@ pub enum cetype_t {
407401
pub type R_CFinalizer_t = ::std::option::Option<unsafe extern "C" fn(arg1: SEXP)>;
408402
pub type R_pstream_data_t = *mut ::std::os::raw::c_void;
409403
#[repr(u32)]
410-
#[non_exhaustive]
411404
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
412405
pub enum R_pstream_format_t {
413406
R_pstream_any_format = 0,
@@ -459,14 +452,31 @@ pub struct R_inpstream_st {
459452
pub nat2nat_obj: *mut ::std::os::raw::c_void,
460453
pub nat2utf8_obj: *mut ::std::os::raw::c_void,
461454
}
455+
pub const SORTED_DECR_NA_1ST: _bindgen_ty_2 = _bindgen_ty_2::SORTED_DECR_NA_1ST;
456+
pub const SORTED_DECR: _bindgen_ty_2 = _bindgen_ty_2::SORTED_DECR;
457+
pub const UNKNOWN_SORTEDNESS: _bindgen_ty_2 = _bindgen_ty_2::UNKNOWN_SORTEDNESS;
458+
pub const SORTED_INCR: _bindgen_ty_2 = _bindgen_ty_2::SORTED_INCR;
459+
pub const SORTED_INCR_NA_1ST: _bindgen_ty_2 = _bindgen_ty_2::SORTED_INCR_NA_1ST;
460+
pub const KNOWN_UNSORTED: _bindgen_ty_2 = _bindgen_ty_2::KNOWN_UNSORTED;
461+
#[repr(i32)]
462+
#[doc = "ALTREP sorting support"]
463+
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
464+
pub enum _bindgen_ty_2 {
465+
SORTED_DECR_NA_1ST = -2,
466+
SORTED_DECR = -1,
467+
#[doc = "INT_MIN is NA_INTEGER!"]
468+
UNKNOWN_SORTEDNESS = -2147483648,
469+
SORTED_INCR = 1,
470+
SORTED_INCR_NA_1ST = 2,
471+
KNOWN_UNSORTED = 0,
472+
}
462473
#[doc = "try to allow some type checking"]
463474
#[repr(C)]
464475
#[derive(Debug, Copy, Clone)]
465476
pub struct R_hashtab_type {
466477
pub cell: SEXP,
467478
}
468479
#[repr(u32)]
469-
#[non_exhaustive]
470480
#[doc = "Startup Actions"]
471481
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
472482
pub enum SA_TYPE {
@@ -543,7 +553,6 @@ impl structRstart {
543553
}
544554
pub type Rstart = *mut structRstart;
545555
#[repr(u32)]
546-
#[non_exhaustive]
547556
#[doc = "PARSE_NULL will not be returned by R_ParseVector"]
548557
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
549558
pub enum ParseStatus {
@@ -575,8 +584,6 @@ pub type R_altrep_DuplicateEX_method_t =
575584
::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: Rboolean) -> SEXP>;
576585
pub type R_altrep_Duplicate_method_t =
577586
::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: Rboolean) -> SEXP>;
578-
pub type R_altrep_Coerce_method_t =
579-
::std::option::Option<unsafe extern "C" fn(arg1: SEXP, arg2: ::std::os::raw::c_int) -> SEXP>;
580587
pub type R_altrep_Inspect_method_t = ::std::option::Option<
581588
unsafe extern "C" fn(
582589
arg1: SEXP,
@@ -679,7 +686,6 @@ pub type R_altstring_Is_sorted_method_t =
679686
pub type R_altstring_No_NA_method_t =
680687
::std::option::Option<unsafe extern "C" fn(arg1: SEXP) -> ::std::os::raw::c_int>;
681688
#[repr(u32)]
682-
#[non_exhaustive]
683689
#[doc = "The graphics engine will only accept locations and dimensions\n in native device coordinates, but it provides the following functions\n for converting between a couple of simple alternative coordinate\n systems and device coordinates:\n DEVICE = native units of the device\n NDC = Normalised device coordinates\n INCHES = inches (!)\n CM = centimetres (!!)"]
684690
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
685691
pub enum GEUnit {
@@ -691,7 +697,6 @@ pub enum GEUnit {
691697
GE_CM = 3,
692698
}
693699
#[repr(u32)]
694-
#[non_exhaustive]
695700
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
696701
pub enum GEevent {
697702
#[doc = "In response to this event, the registered graphics system\n should allocate and initialise the systemSpecific structure\n\n Should return R_NilValue on failure so that engine\n can tidy up memory allocation"]
@@ -714,7 +719,6 @@ pub enum GEevent {
714719
GE_ScalePS = 8,
715720
}
716721
#[repr(u32)]
717-
#[non_exhaustive]
718722
#[doc = "Some line end/join constants"]
719723
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
720724
pub enum R_GE_lineend {
@@ -723,7 +727,6 @@ pub enum R_GE_lineend {
723727
GE_SQUARE_CAP = 3,
724728
}
725729
#[repr(u32)]
726-
#[non_exhaustive]
727730
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
728731
pub enum R_GE_linejoin {
729732
GE_ROUND_JOIN = 1,
@@ -1012,7 +1015,6 @@ pub struct _DevDesc {
10121015
pub reserved: [::std::os::raw::c_char; 64usize],
10131016
}
10141017
#[repr(i32)]
1015-
#[non_exhaustive]
10161018
#[doc = "These give the indices of some known keys"]
10171019
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10181020
pub enum R_KeyName {
@@ -1041,7 +1043,6 @@ pub enum R_KeyName {
10411043
knDEL = 21,
10421044
}
10431045
#[repr(u32)]
1044-
#[non_exhaustive]
10451046
#[doc = "These are the three possible mouse events"]
10461047
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10471048
pub enum R_MouseEvent {
@@ -1128,7 +1129,6 @@ pub type d2fcn_p = ::std::option::Option<
11281129
),
11291130
>;
11301131
#[repr(u32)]
1131-
#[non_exhaustive]
11321132
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11331133
pub enum RNGtype {
11341134
WICHMANN_HILL = 0,
@@ -1141,7 +1141,6 @@ pub enum RNGtype {
11411141
LECUYER_CMRG = 7,
11421142
}
11431143
#[repr(u32)]
1144-
#[non_exhaustive]
11451144
#[doc = "Different kinds of \"N(0,1)\" generators :"]
11461145
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11471146
pub enum N01type {
@@ -1153,7 +1152,6 @@ pub enum N01type {
11531152
KINDERMAN_RAMAGE = 5,
11541153
}
11551154
#[repr(u32)]
1156-
#[non_exhaustive]
11571155
#[doc = "Different ways to generate discrete uniform samples"]
11581156
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11591157
pub enum Sampletype {
@@ -1254,9 +1252,6 @@ extern "C" {
12541252
arg3: ::std::os::raw::c_int,
12551253
);
12561254
pub fn Rf_setRVector(arg1: *mut f64, arg2: ::std::os::raw::c_int, arg3: f64);
1257-
pub fn Rf_StringFalse(arg1: *const ::std::os::raw::c_char) -> Rboolean;
1258-
pub fn Rf_StringTrue(arg1: *const ::std::os::raw::c_char) -> Rboolean;
1259-
pub fn Rf_isBlankString(arg1: *const ::std::os::raw::c_char) -> Rboolean;
12601255
#[doc = "These two are guaranteed to use '.' as the decimal point,\nand to accept \"NA\"."]
12611256
pub fn R_atof(str_: *const ::std::os::raw::c_char) -> f64;
12621257
pub fn R_strtod(c: *const ::std::os::raw::c_char, end: *mut *mut ::std::os::raw::c_char)
@@ -1686,7 +1681,6 @@ extern "C" {
16861681
pub fn R_tryEval(arg1: SEXP, arg2: SEXP, arg3: *mut ::std::os::raw::c_int) -> SEXP;
16871682
pub fn R_tryEvalSilent(arg1: SEXP, arg2: SEXP, arg3: *mut ::std::os::raw::c_int) -> SEXP;
16881683
pub fn R_GetCurrentEnv() -> SEXP;
1689-
pub fn Rf_isS4(arg1: SEXP) -> Rboolean;
16901684
pub fn Rf_asS4(arg1: SEXP, arg2: Rboolean, arg3: ::std::os::raw::c_int) -> SEXP;
16911685
pub fn Rf_S3Class(arg1: SEXP) -> SEXP;
16921686
pub fn Rf_isBasicClass(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
@@ -1728,8 +1722,6 @@ extern "C" {
17281722
pub fn R_WeakRefKey(w: SEXP) -> SEXP;
17291723
pub fn R_WeakRefValue(w: SEXP) -> SEXP;
17301724
pub fn R_RunWeakRefFinalizer(w: SEXP);
1731-
pub fn R_PromiseExpr(arg1: SEXP) -> SEXP;
1732-
pub fn R_ClosureExpr(arg1: SEXP) -> SEXP;
17331725
pub fn R_BytecodeExpr(e: SEXP) -> SEXP;
17341726
#[doc = "Protected evaluation"]
17351727
pub fn R_ToplevelExec(
@@ -2040,31 +2032,7 @@ extern "C" {
20402032
#[doc = "stuff that probably shouldn't be in the API but is getting used"]
20412033
pub fn SET_TYPEOF(x: SEXP, v: ::std::os::raw::c_int);
20422034
pub fn SET_OBJECT(x: SEXP, v: ::std::os::raw::c_int);
2043-
pub fn SET_S4_OBJECT(x: SEXP);
2044-
pub fn UNSET_S4_OBJECT(x: SEXP);
2045-
pub fn R_curErrorBuf() -> *const ::std::os::raw::c_char;
2046-
pub fn IS_SCALAR(x: SEXP, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2047-
pub fn Rf_psmatch(
2048-
arg1: *const ::std::os::raw::c_char,
2049-
arg2: *const ::std::os::raw::c_char,
2050-
arg3: Rboolean,
2051-
) -> Rboolean;
2052-
pub fn SETLENGTH(x: SEXP, v: R_xlen_t);
2053-
pub fn SET_TRUELENGTH(x: SEXP, v: R_xlen_t);
2054-
pub fn SETLEVELS(x: SEXP, v: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2055-
pub fn SET_ENVFLAGS(x: SEXP, v: ::std::os::raw::c_int);
2056-
pub fn SET_FRAME(x: SEXP, v: SEXP);
2057-
pub fn SET_ENCLOS(x: SEXP, v: SEXP);
2058-
pub fn SET_HASHTAB(x: SEXP, v: SEXP);
2059-
pub fn SET_PRENV(x: SEXP, v: SEXP);
2060-
pub fn SET_PRVALUE(x: SEXP, v: SEXP);
2061-
pub fn SET_PRCODE(x: SEXP, v: SEXP);
2062-
pub fn STDVEC_DATAPTR(x: SEXP) -> *mut ::std::os::raw::c_void;
2063-
pub fn IS_GROWABLE(x: SEXP) -> ::std::os::raw::c_int;
20642035
pub fn SET_GROWABLE_BIT(x: SEXP);
2065-
pub fn SET_NAMED(x: SEXP, v: ::std::os::raw::c_int);
2066-
#[doc = "used by BIOC::matter; mightbe reasonable to include in API"]
2067-
pub fn R_tryWrap(arg1: SEXP) -> SEXP;
20682036
pub fn R_FlushConsole();
20692037
pub fn Rf_onintr();
20702038
pub fn Rf_onintrNoResume();

bindings/bindings-linux-aarch64-R4.5-devel.rs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,9 @@ pub const R_MAJOR: &[u8; 2] = b"4\0";
135135
pub const R_MINOR: &[u8; 4] = b"5.0\0";
136136
pub const R_STATUS: &[u8; 29] = b"Under development (unstable)\0";
137137
pub const R_YEAR: &[u8; 5] = b"2024\0";
138-
pub const R_MONTH: &[u8; 3] = b"05\0";
139-
pub const R_DAY: &[u8; 3] = b"08\0";
140-
pub const R_SVN_REVISION: u32 = 86528;
138+
pub const R_MONTH: &[u8; 3] = b"06\0";
139+
pub const R_DAY: &[u8; 3] = b"11\0";
140+
pub const R_SVN_REVISION: u32 = 86723;
141141
pub const R_GE_definitions: u32 = 13;
142142
pub const R_GE_deviceClip: u32 = 14;
143143
pub const R_GE_group: u32 = 15;
@@ -1359,6 +1359,8 @@ extern "C" {
13591359
pub fn Rf_isEnvironment(s: SEXP) -> Rboolean;
13601360
pub fn Rf_isString(s: SEXP) -> Rboolean;
13611361
pub fn Rf_isObject(s: SEXP) -> Rboolean;
1362+
pub fn MAYBE_SHARED(x: SEXP) -> ::std::os::raw::c_int;
1363+
pub fn NO_REFERENCES(x: SEXP) -> ::std::os::raw::c_int;
13621364
#[doc = "General Cons Cell Attributes"]
13631365
pub fn ATTRIB(x: SEXP) -> SEXP;
13641366
pub fn OBJECT(x: SEXP) -> ::std::os::raw::c_int;
@@ -1393,6 +1395,7 @@ extern "C" {
13931395
pub fn SET_VECTOR_ELT(x: SEXP, i: R_xlen_t, v: SEXP) -> SEXP;
13941396
pub fn STRING_PTR(x: SEXP) -> *mut SEXP;
13951397
pub fn STRING_PTR_RO(x: SEXP) -> *const SEXP;
1398+
pub fn VECTOR_PTR_RO(x: SEXP) -> *const SEXP;
13961399
pub fn INTEGER_GET_REGION(
13971400
sx: SEXP,
13981401
i: R_xlen_t,
@@ -1449,6 +1452,10 @@ extern "C" {
14491452
pub fn SET_FORMALS(x: SEXP, v: SEXP);
14501453
pub fn SET_BODY(x: SEXP, v: SEXP);
14511454
pub fn SET_CLOENV(x: SEXP, v: SEXP);
1455+
pub fn R_mkClosure(arg1: SEXP, arg2: SEXP, arg3: SEXP) -> SEXP;
1456+
pub fn R_ClosureFormals(arg1: SEXP) -> SEXP;
1457+
pub fn R_ClosureBody(arg1: SEXP) -> SEXP;
1458+
pub fn R_ClosureEnv(arg1: SEXP) -> SEXP;
14521459
#[doc = "Symbol Access Functions"]
14531460
pub fn PRINTNAME(x: SEXP) -> SEXP;
14541461
pub fn SYMVALUE(x: SEXP) -> SEXP;
@@ -1459,6 +1466,7 @@ extern "C" {
14591466
pub fn ENCLOS(x: SEXP) -> SEXP;
14601467
pub fn HASHTAB(x: SEXP) -> SEXP;
14611468
pub fn ENVFLAGS(x: SEXP) -> ::std::os::raw::c_int;
1469+
pub fn R_ParentEnv(arg1: SEXP) -> SEXP;
14621470
#[doc = "Promise Access Functions"]
14631471
pub fn PRCODE(x: SEXP) -> SEXP;
14641472
pub fn PRENV(x: SEXP) -> SEXP;
@@ -1603,6 +1611,7 @@ extern "C" {
16031611
arg2: ::std::os::raw::c_int,
16041612
arg3: ::std::os::raw::c_int,
16051613
) -> SEXP;
1614+
pub fn Rf_allocLang(arg1: ::std::os::raw::c_int) -> SEXP;
16061615
pub fn Rf_allocList(arg1: ::std::os::raw::c_int) -> SEXP;
16071616
pub fn Rf_allocS4Object() -> SEXP;
16081617
pub fn Rf_allocSExp(arg1: SEXPTYPE) -> SEXP;
@@ -1712,12 +1721,6 @@ extern "C" {
17121721
ce_out: cetype_t,
17131722
subst: ::std::os::raw::c_int,
17141723
) -> *const ::std::os::raw::c_char;
1715-
pub fn Rf_reEnc3(
1716-
x: *const ::std::os::raw::c_char,
1717-
fromcode: *const ::std::os::raw::c_char,
1718-
tocode: *const ::std::os::raw::c_char,
1719-
subst: ::std::os::raw::c_int,
1720-
) -> *const ::std::os::raw::c_char;
17211724
#[doc = "Calling a function with arguments evaluated"]
17221725
pub fn R_forceAndCall(e: SEXP, n: ::std::os::raw::c_int, rho: SEXP) -> SEXP;
17231726
#[doc = "External pointer interface"]
@@ -1876,7 +1879,6 @@ extern "C" {
18761879
);
18771880
pub fn R_Serialize(s: SEXP, ops: R_outpstream_t);
18781881
pub fn R_Unserialize(ips: R_inpstream_t) -> SEXP;
1879-
pub fn R_SerializeInfo(ips: R_inpstream_t) -> SEXP;
18801882
#[doc = "slot management (in attrib.c)"]
18811883
pub fn R_do_slot(obj: SEXP, name: SEXP) -> SEXP;
18821884
pub fn R_do_slot_assign(obj: SEXP, name: SEXP, value: SEXP) -> SEXP;
@@ -1907,7 +1909,6 @@ extern "C" {
19071909
pub fn R_NewPreciousMSet(arg1: ::std::os::raw::c_int) -> SEXP;
19081910
pub fn R_PreserveInMSet(x: SEXP, mset: SEXP);
19091911
pub fn R_ReleaseFromMSet(x: SEXP, mset: SEXP);
1910-
pub fn R_ReleaseMSet(mset: SEXP, keepSize: ::std::os::raw::c_int);
19111912
#[doc = "Shutdown actions"]
19121913
pub fn R_dot_Last();
19131914
pub fn R_RunExitFinalizers();
@@ -1936,6 +1937,7 @@ extern "C" {
19361937
pub fn Rf_elt(arg1: SEXP, arg2: ::std::os::raw::c_int) -> SEXP;
19371938
pub fn Rf_inherits(arg1: SEXP, arg2: *const ::std::os::raw::c_char) -> Rboolean;
19381939
pub fn Rf_isArray(arg1: SEXP) -> Rboolean;
1940+
pub fn Rf_isDataFrame(arg1: SEXP) -> Rboolean;
19391941
pub fn Rf_isFactor(arg1: SEXP) -> Rboolean;
19401942
pub fn Rf_isFrame(arg1: SEXP) -> Rboolean;
19411943
pub fn Rf_isFunction(arg1: SEXP) -> Rboolean;

0 commit comments

Comments
 (0)