Expand description

Common exports for extendr-api.

This allows us to be more selective about exports and avoid users using deprecated features.


pub use super::print_r_error;
pub use super::print_r_output;
pub use super::CanBeNA;
pub use super::Rtype;
pub use super::FALSE;
pub use super::NA_INTEGER;
pub use super::NA_LOGICAL;
pub use super::NA_REAL;
pub use super::NA_STRING;
pub use super::NULL;
pub use super::TRUE;
pub use super::na::*;
pub use super::error::Error;
pub use super::error::Result;
pub use super::functions::base_env;
pub use super::functions::base_namespace;
pub use super::functions::blank_scalar_string;
pub use super::functions::blank_string;
pub use super::functions::current_env;
pub use super::functions::empty_env;
pub use super::functions::eval_string;
pub use super::functions::eval_string_with_params;
pub use super::functions::find_namespace;
pub use super::functions::find_namespaced_function;
pub use super::functions::global_env;
pub use super::functions::global_function;
pub use super::functions::global_var;
pub use super::functions::local_var;
pub use super::functions::na_string;
pub use super::functions::namespace_registry;
pub use super::functions::new_env;
pub use super::functions::nil_value;
pub use super::functions::parse;
pub use super::functions::srcref;
pub use super::wrapper::symbol::base_symbol;
pub use super::wrapper::symbol::brace_symbol;
pub use super::wrapper::symbol::bracket_2_symbol;
pub use super::wrapper::symbol::bracket_symbol;
pub use super::wrapper::symbol::class_symbol;
pub use super::wrapper::symbol::device_symbol;
pub use super::wrapper::symbol::dim_symbol;
pub use super::wrapper::symbol::dimnames_symbol;
pub use super::wrapper::symbol::dollar_symbol;
pub use super::wrapper::symbol::dot_defined;
pub use super::wrapper::symbol::dot_method;
pub use super::wrapper::symbol::dot_package_name;
pub use super::wrapper::symbol::dot_target;
pub use super::wrapper::symbol::dots_symbol;
pub use super::wrapper::symbol::double_colon_symbol;
pub use super::wrapper::symbol::lastvalue_symbol;
pub use super::wrapper::symbol::levels_symbol;
pub use super::wrapper::symbol::missing_arg;
pub use super::wrapper::symbol::mode_symbol;
pub use super::wrapper::symbol::na_rm_symbol;
pub use super::wrapper::symbol::name_symbol;
pub use super::wrapper::symbol::names_symbol;
pub use super::wrapper::symbol::namespace_env_symbol;
pub use super::wrapper::symbol::package_symbol;
pub use super::wrapper::symbol::previous_symbol;
pub use super::wrapper::symbol::quote_symbol;
pub use super::wrapper::symbol::row_names_symbol;
pub use super::wrapper::symbol::seeds_symbol;
pub use super::wrapper::symbol::sort_list_symbol;
pub use super::wrapper::symbol::source_symbol;
pub use super::wrapper::symbol::spec_symbol;
pub use super::wrapper::symbol::triple_colon_symbol;
pub use super::wrapper::symbol::tsp_symbol;
pub use super::wrapper::symbol::unbound_value;
pub use crate::append;
pub use crate::append_lang;
pub use crate::append_with_name;
pub use crate::args;
pub use crate::lang;
pub use crate::lang;
pub use crate::make_lang;
pub use crate::data_frame;
pub use crate::factor;
pub use crate::global;
pub use crate::list;
pub use crate::r;
pub use crate::reprint;
pub use crate::reprintln;
pub use crate::rprint;
pub use crate::rprintln;
pub use crate::sym;
pub use crate::test;
pub use crate::var;
pub use super::wrapper::AltComplexImpl;
pub use super::wrapper::AltIntegerImpl;
pub use super::wrapper::AltLogicalImpl;
pub use super::wrapper::AltRawImpl;
pub use super::wrapper::AltRealImpl;
pub use super::wrapper::AltStringImpl;
pub use super::wrapper::Altrep;
pub use super::wrapper::AltrepImpl;
pub use super::wrapper::RArray;
pub use super::wrapper::RColumn;
pub use super::wrapper::RMatrix;
pub use super::wrapper::RMatrix3D;
pub use super::wrapper::s4::S4;
pub use super::wrapper::Conversions;
pub use super::wrapper::MatrixConversions;
pub use super::robj::AsStrIter;
pub use super::robj::Attributes;
pub use super::robj::Eval;
pub use super::robj::GetSexp;
pub use super::robj::Length;
pub use super::robj::Robj;
pub use super::robj::Slices;
pub use super::robj::Types;
pub use super::thread_safety::catch_r_error;
pub use super::thread_safety::handle_panic;
pub use super::thread_safety::single_threaded;
pub use super::thread_safety::this_thread_id;
pub use super::thread_safety::throw_r_error;
pub use super::wrapper::Complexes;
pub use super::wrapper::Dataframe;
pub use super::wrapper::Doubles;
pub use super::wrapper::EnvIter;
pub use super::wrapper::Environment;
pub use super::wrapper::Expressions;
pub use super::wrapper::ExternalPtr;
pub use super::wrapper::FromList;
pub use super::wrapper::Function;
pub use super::wrapper::Integers;
pub use super::wrapper::IntoDataFrameRow;
pub use super::wrapper::Language;
pub use super::wrapper::List;
pub use super::wrapper::ListIter;
pub use super::wrapper::Logicals;
pub use super::wrapper::Nullable;
pub use super::wrapper::Pairlist;
pub use super::wrapper::Primitive;
pub use super::wrapper::Promise;
pub use super::wrapper::Raw;
pub use super::wrapper::Rstr;
pub use super::wrapper::Strings;
pub use super::wrapper::Symbol;
pub use super::robj_ndarray::*;
pub use super::iter::StrIter;
pub use super::scalar::*;


Producers, iterables and iterators.

Linear algebra.

ndarray prelude.


Execute R code by parsing and evaluating tokens.

Execute R code by parsing and evaluating tokens but without expanding parameters.

Create an Array with one, two or three dimensions.

Array zip macro: lock step function application across several arrays and producers.

Call a function or primitive defined by a text expression with arbitrary parameters. This currently works by parsing and evaluating the string in R, but will probably acquire some shortcuts for simple expessions, for example by caching symbols and constant values.

Concatenate arrays along the given axis.

Define a module and export symbols to R Example:

Create a List R object from a list of name-value pairs.

Create a Pairlist R object from a list of name-value pairs.

Slice argument constructor.

Stack arrays along the new axis.


Stack arrays along the new axis.


An n-dimensional array.

An axis index.

Description of the axis, its length and its stride.

Dimension description.

Dynamic dimension or index type.

A transparent wrapper of Cell<T> which is identical in every way, except it will implement arithmetic operators as well.

Token to represent a new axis in a slice description.

ArcArray’s representation.

Array’s representation.

Array pointer’s representation.

A contiguous array shape of n dimensions.

An error related to array shape or layout.

A slice (range with step size).

Represents all of the necessary information to perform a slice.

An array shape of n dimensions in c-order, f-order or custom strides.

Array view’s representation.

Lock step function application across several arrays or other producers.


CowArray’s representation.

Error code for an error related to array shape or layout.

Value controlling the execution of .fold_while on Zip.

Array order

A slice (range with step), an index, or a new axis token.


Argument conversion into an array view

A producer element that can be assigned to once

Array representation trait.

Array representation trait.

Array representation trait.

Array representation trait.

Adds the two dimensions at compile time.

Array shape and index trait.

Fixed-size array used for array initialization

Trait used for incomming parameter conversion.

Used for indexing operations (container[index]) in immutable contexts.

Extra indexing methods for array views

Argument conversion a dimension.

Argument conversion into a producer.

Elements that support linear algebra operations.

Slicing information describing multiple mutable, disjoint slices.

Floating-point element types f32 and f64.

Tuple or fixed size arrays that can be used to index an array.

A producer of an n-dimensional set of elements; for example an array view, mutable array view or an iterator that yields chunks.

The following impls add operators to Robj.

Array representation trait.

Array representation trait.

Array representation trait.

Array representation trait.

Array shape with a next smaller dimension.

The following impls wrap specific Rinternals.h functions.

Extensions to iterators for R objects including RobjItertools::collect_robj().

Elements that can be used as direct operands in arithmetic with arrays.

Array shape argument with optional order parameter

A trait for Shape and D where D: Dimension that allows customizing the memory layout (strides) of an array shape.

A type that can slice an array of dimension D.

Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryInto.

An attempted conversion that consumes self, which may or may not be expensive.


Create a new dimension value.

Create a zero-dimensional index

Create a one-dimensional index

Create a two-dimensional index

Create a three-dimensional index

Create a four-dimensional index

Create a five-dimensional index

Create a six-dimensional index

Create a dynamic-dimensional index

Create a zero-dimensional array with the element x.

Create a one-dimensional array with elements from xs.

Create a two-dimensional array with elements from xs.

Create a three-dimensional array with elements from xs.

Create a zero-dimensional array view borrowing x.

Create a one-dimensional array view with elements borrowing xs.

Create a two-dimensional array view with elements borrowing xs.

Create a one-dimensional read-write array view with elements borrowing xs.

Create a two-dimensional read-write array view with elements borrowing xs.

Concatenate arrays along the given axis.

Create an iterable of the array shape shape.

Return an iterable of the indices of the passed-in array.

Create a one-dimensional array with elements from xs.

Create a two-dimensional array with elements from xs.

Create a three-dimensional array with elements from xs.

Stack arrays along the new axis.


Stack arrays along the new axis.

Type Definitions

An array where the data has shared ownership and is copy on write.

one-dimensional shared ownership array

two-dimensional shared ownership array

An array that owns its data uniquely.

zero-dimensional array

one-dimensional array

two-dimensional array

three-dimensional array

four-dimensional array

five-dimensional array

six-dimensional array

dynamic-dimensional array

A read-only array view.

zero-dimensional array view

one-dimensional array view

two-dimensional array view

three-dimensional array view

four-dimensional array view

five-dimensional array view

six-dimensional array view

dynamic-dimensional array view

A read-write array view.

zero-dimensional read-write array view

one-dimensional read-write array view

two-dimensional read-write array view

three-dimensional read-write array view

four-dimensional read-write array view

five-dimensional read-write array view

six-dimensional read-write array view

dynamic-dimensional read-write array view

An array with copy-on-write behavior.

Array index type









Array index type (signed)

A read-only array view without a lifetime.

A mutable array view without a lifetime.

Attribute Macros

Derive Macros

Enable the construction of dataframes from arrays of structures.