-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should vec_proxy_equal.vctrs_rcrd()
exist and be recursive?
#1503
Comments
I vaguely remember that proxying recursively caused conceptual issues for restoration. Maybe that was with column operations though (which are now abandoned), or with df proxies that have more columns than the actual data, I don't remember. |
Yea but that is about I'm talking about If you look at data frames right now, we don't recursively perform |
makes sense |
We currently have a
vec_proxy.vctrs_rcrd()
method that just turns the rcrd into a data frame (with no recursion of proxying the types). This is consistent with our data frame proxy method, which also doesn't recurse right now.vctrs/R/type-rcrd.R
Lines 32 to 35 in f9afbff
But this is what gets used for
vec_proxy_equal()
too, and the fact that it doesn't recurse is a big problem. Consider what happens if you nest a rcrd in a rcrd. The lack of recursion can actually bomb R in some cases.I think we need a
vec_proxy_equal()
method defined like the one above for this to work right.Note: we also have this weird
vec_proxy_compare.vctrs_rcrd
method, which looks like it is very similar to thevec_proxy()
method, so maybe this can be removed? It also isn't recursive so it has the same issues.vctrs/R/type-rcrd.R
Lines 142 to 147 in f9afbff
The text was updated successfully, but these errors were encountered: