-
Notifications
You must be signed in to change notification settings - Fork 1k
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
allow.assign.inplace attribute #4978
base: master
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4978 +/- ##
==========================================
+ Coverage 97.49% 99.47% +1.97%
==========================================
Files 80 75 -5
Lines 14810 14728 -82
==========================================
+ Hits 14439 14650 +211
+ Misses 371 78 -293
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
This suggested fix includes an addition of an internal-only argument to |
I added WIP label so you can remove it when the changes requested are either done, or I misunderstood and you want to send the PR back to me. |
@mattdowle Thanks! Before I fix it, I'd appreciate your opinion: |
It would be unusual and I'm not sure we have any other examples of that. But don't worry about that yet. I suspect this PR will morph quite a bit. Just taking it one step at a time. If we need a new internal-only version of |
I completely understand why you suspect this PR would keep changing - and I apologize for changing it twice already - but conversation with you guys is the only way to make it mold. The internals (modifications to |
@OfekShilon Don't worry - there is no friction due to the PR changing. We don't mind changes in a PR at all.
A change of that nature to Cassign is acceptable yes, although I haven't gone through the details of it yet. I can see it is looking at a new attribute and changing behavior depending on the attribute on the data. That's fine in principle. Thanks for reducing the number of test changes but what I can see now is the new Having said that, it is feasible that this PR ends up making a change in behavior that does involve a temporary But first, can you explain why you didn't do what I asked in #4978 (comment) please? I think I must have misunderstood, so I need you to explain that. That's the stage I'm at currently. |
This reverts commit 3ec3020.
… test.data.table logic
@mattdowle Sorry for the long leave. Some explanations on the order of changes: Hopefully this can be merged now. |
@mattdowle I resolved your review long ago, somehow I still see 'changes requested'. Am I missing something? Do you consider this change satisfactory? Can it be included in 1.15? |
@mattdowle Is there anything unclear, or otherwise missing, to merge this fix? |
@mattdowle I agree it's far too long since we've heard from you here. Marked as 'High' to make sure this doesn't escape notice as we close in on 1.14.6 |
This might have become hard to merge in the 1.5Y since suggesting it. Would it help to start over in a new PR? Perhaps with better explanations? |
@OfekShilon I merged to |
Thanks! I'm afraid I'm not allowed to grand access to my organization - just pushed a merge of |
I don't think comfortable for having such a significant change merged shortly before preparing major release. I am putting it for the next milestone, as currently the priority is to have master branch released on CRAN. |
@jangorecki this is from 2.5Y ago, I'd be surprised if it's mergeable with reasonable effort. |
Like most of other PR we will have to merge/rebase to master and resolve conflicts. That's the cost of not actively maintaining the project. What's positive that at least it won't be as difficult as if project would be actively maintained for 2.5 years, because there were not that many changes over this time. |
Finally read the issue & comments carefully enough to agree that yes, there's something wanting with the current code. However, I don't want Preventing assignment on objects like that will be extremely user-unfriendly IMO. I wonder if there's some way to use R internals here -- we really care about the case of A much simpler solution is to just add the argument and keep it back-compatible -- users with a codebase where the "leaky" behavior tends to bite should use a wrapper function, although I'm not totally opposed to adding an option (I know Matt pushed back on that idea in the earliest review). That said, as Ofek is no longer working much on R, I wonder who might sponsor this work to get it over the finish line. For now I'll bump the milestone; please chime in if this PR is heavily affecting you as well. |
Closes #4783
Previous fix attempts were too general (global option) or too specific (per-column attribute). This one, I hope, hits the right balance:
setDT
adds a per-dt attribute that disables in-place assignment semantics. It was made from a fresh fork to ease merging.I'll close the previous PRs.