Skip to main content

s7_base_operator_unbind

Function s7_base_operator_unbind 

Source
pub(crate) fn s7_base_operator_unbind(op: &str) -> String
Expand description

The line that follows an S7::method(<op>, ...) <- registration on a base operator: base::rm(list = "<op>").

S7::method([[, Class) <- f is a replacement call, so R assigns its result, the base [[ primitive, to [[ in the package namespace. A generic the namespace binds counts as the package’s own when R registers the package’s S3 methods (registerS3methods()), so every S3method("[[", ...) of the package would land in the namespace’s own methods table instead of base’s: those methods would dispatch only from code inside the namespace, never from a user’s x[[i]] or from lapply(). Removing the binding right after the registration keeps the S7 call itself unchanged.