GH-50014: [R] Replace imported symbol from bit64#50015
Conversation
|
|
|
|
|
The GitHub codespace where I edited this doesn't have enough resources to compile {arrow} reliably :\ So I can't re-run the test of attempting to detach {bit64} with an existing integer64 column. |
|
OK, I managed to install with # NB: IIUC, as_vector() and/or arrow_array() will
# not retain 64-bit representation of the original 1:10,
# so force that with a non-32-bit input
x = lim.integer64()
# was array()
a <- arrow_array(x)
a$as_vector()
# integer64
# [1] -9223372036854775807 9223372036854775807
detach("package:bit64", unload = TRUE)
# Warning message:
# ‘bit64’ namespace cannot be unloaded:
# namespace ‘bit64’ is imported by ‘arrow’ so cannot be unloaded Is it recommended to put this in a test? The most natural way to do so would be a new file in r/tests reproducing the above -- I am a bit loath to put a |
|
@github-actions crossbow submit -g r |
|
Revision: 16c7459 Submitted crossbow builds: ursacomputing/crossbow @ actions-ccf035b329 |
jonkeane
left a comment
There was a problem hiding this comment.
Thanks for this! I'm ok without having an explicit test for this, since really it's more testing R's blocking of any imported package being detached (and that we have imported at least one thing IIUC).
I've triggered our full nightly run just in case there's something in those that bonk, but this is good so long as that's fine.
| @@ -1,22 +0,0 @@ | |||
| # Licensed to the Apache Software Foundation (ASF) under one | |||
There was a problem hiding this comment.
I'm ok with removing the reexports file here.
I opted to delete the 'reexports' file because the symbols are not actually re-exported. IMHO, it's more appropriate to just add this hook in arrow-package.R as done here, but of course if your strong preference is to retain the reexports-bit64.R file I'll restore it.
integer64()should be a fine choice -- I basically wanted a part of the API that has essentially 0 chance of ever changing.As of today,
R CMD checkdoesn't complain if you import a symbol and then don't reference it in the sources. Nor do I think such a check will ever happen.