From 369d5f06b4f932456627acee53fd493e43c496ac Mon Sep 17 00:00:00 2001 From: Davis Vaughan Date: Wed, 7 Aug 2024 17:08:09 -0400 Subject: [PATCH] NEWS bullet --- NEWS.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/NEWS.md b/NEWS.md index b5f9cb61..f0d78a5d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,19 @@ # cpp11 (development version) +* Removed usage of the following non-API functions: + * `SETLENGTH()` + * `SET_TRUELENGTH()` + * `SET_GROWABLE_BIT()` + + These functions were used as part of the efficient growable vectors that + cpp11 offered, i.e. what happens under the hood when you use `push_back()`. + The removal of these non-API functions means that cpp11 writable vectors that + have been pushed to with `push_back()` will likely force 1 extra allocation + when the conversion from `cpp11::writable::r_vector` to `SEXP` occurs + (typically when you return a result back to R). This does not affect the + performance of `push_back()` itself, and in general these growable vectors + are still quite efficient (#362). + * Fixed a memory leak with the `cpp11::writable::r_vector` move assignment operator (#338).