r-lib / R6

Encapsulated object-oriented programming for R
https://R6.r-lib.org
Other
404 stars 56 forks source link

`finalize` method should be private #146

Open wch opened 6 years ago

wch commented 6 years ago

I'm not sure why I originally made it so the finalize method was in public. It makes more sense for it to be in private.

gaborcsardi commented 6 years ago

True, but this is a breaking change, right? Or can you implement sg. that helps the transition? E.g. automatically moving it over to private, with a warning?

wch commented 6 years ago

Yes, it would be breaking, so it would be a good idea to do something like what you propose. Maybe start with messages and then in, say, a year, upgrade it to a warning.

wch commented 5 years ago

I just released v2.4.0, which allows private finalizers. The documentation now says that finalizers should be private, but they are allowed to be public or private.

In the future -- maybe in a year or so -- we can make R6 start emitting messages or warnings for public finalizers, and then some time after that, we can stop supporting public finalizers. I'm reopening this issue as a reminder.