[R-pkg-devel] [External] Rf_lazy_duplicate moved to nonAPI

Tomas Kalibera tom@@@k@||ber@ @end|ng |rom gm@||@com
Thu Nov 6 16:36:10 CET 2025


On 11/6/25 06:54, Iris Simmons wrote:
>> That is not quite right. Rf_lazy_duplicate was never in the API.
> I wish you wouldn't be contrarian just for the sake of it, and I wish
> you'd at least be correct when you are. I never said Rf_lazy_duplicate
> was part of the API. I said it was placed on the list of non-API C
> functions, which is true.
> https://github.com/wch/r-source/commit/42b67e1c9bd29506d5e1de8c50389cb4ad39f74a#diff-85fcd7ad89c2b2a608f20c34b99001203b2bc8d2f41c5aedef8239a4e4e98590R697

Right, you didn't write that you thought Rf_lazy_duplicate was part of 
the API. And you got a very polite response, perhaps something worth 
taking an inspiration from. It was polite because it assumed your 
question made sense - it would only have made sense if you thought 
Rf_lazy_duplicate was in the API (and you didn't write otherwise). It is 
unreasonable to expect WRE would discuss replacements for private 
functions for the R engine (after all, before Luke's work on indexing 
the API, functions mentioned in WRE were part of the API by the virtue 
of being mentioned there). Discussing functions private to the R engine 
is out of scope of WRE (or R-pkg-devel for that matter).

Reporting non-API functions used in packages is an important service to 
responsible package authors, who want to cooperate in keeping the R 
ecosystem maintainable.

Best
Tomas

>
>> Using it in a package has been producing a NOTE in R CMD check for a while; that NOTE has now been upgraded to a WARNING.
> 3 weeks is not a while.
>
>> It has been essentially a no-op since the change to reference counting several years ago. So Rf_lazy_duplicate(x) is now essentially the same as x.
> Thanks.
>
> On Wed, Nov 5, 2025 at 10:37 PM <luke-tierney using uiowa.edu> wrote:
>> On Thu, 6 Nov 2025, Iris Simmons wrote:
>>
>>> Hi,
>>>
>>>
>>> I see Rf_lazy_duplicate was placed on the list of non-API C functions.
>> That is not quite right. Rf_lazy_duplicate was never in the API. Using
>> it in a package has been producing a NOTE in R CMD check for a while;
>> that NOTE has now been upgraded to a WARNING.
>>
>>> Is there going to be a replacement, or some alternative? None is
>>> mentioned in Writing R Extensions.
>> It has been essentially a no-op since the change to reference counting
>> several years ago. So Rf_lazy_duplicate(x) is now essentially the same
>> as x.
>>
>> Best,
>>
>> luke
>>
>>>
>>> Thanks,
>>>     Iris
>>>
>>> ______________________________________________
>>> R-package-devel using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>>>
>> --
>> Luke Tierney
>> Ralph E. Wareham Professor of Mathematical Sciences
>> University of Iowa                  Phone:             319-335-3386
>> Department of Statistics and        Fax:               319-335-3017
>>      Actuarial Science
>> 241 Schaeffer Hall                  email:   luke-tierney using uiowa.edu
>> Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu/
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel



More information about the R-package-devel mailing list