extendr devel

  • Fixed Clippy warnings

  • Fixed “myvar” test failures - related to base_env() being the “local” enviroment in the tests.

  • Fixes for builds on ARM and PPC platforms.

  • Converted R! to a procedural macro, allowing parameters.

  • Converted pairlist! to a procedural macro.

  • Refactor extendr_macros.

  • Remove unused lazy_static

  • Continued improvments to wrappers for specific R types such as environments, functions and symbols.

  • Install system dependencies on Linux.

  • Use Use failure() to trigger steps on failures

  • SymPair::sym_pair() now returns (Option<Robj>, Robj)

extendr 0.2.0

  • Added contributing guidelines and code of conduct.

  • Made use of ndarray optional.

  • Made #[extendr] calls panic and thread safe.

  • Added NA handling to the #[extendr] macro.

  • Added a separate extendr-engine crate that is needed when calling R from Rust.

  • Wrapper classes for pairlists, environment, raw, symbols and others.

  • More iterator support.

  • Operators index, slice, dollar, double_colon, +, -, * and /`.

  • Debug printing support expanded to use wrappers.

  • Conversion of Robj to wrapper types.

  • Multithreaded support - allows multithreaded testing using a recursive spinlock.

  • Bool type extended and implemented using TRUE, FALSE and NA_BOOLEAN.

  • Optional parameters to support NA handing.

  • Errors thrown if input parameters without Option are NA.

  • Harmonising of function names into integer, real, logical, symbol, raw, list, pairlist and env.

  • Refactored robj code into several source files.

  • Many functions updated to use generic types.

  • R! macro for executing R source code.

  • call! macro to call R code.

  • sym! macro to generate symbols.

  • Simplification of vector generation using collect_robj and ToVectorValue.

  • Added array types [1, 2, 3] as Robj::from targets.

  • Macros now mostly return errors.

extendr 0.1.10

  • Fix build on Windows and MacOS.