-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
ARROW-11387: [Rust] fix build for conditional compilation of features 'simd + avx512' #9337
Conversation
Thanks for opening a pull request! Could you open an issue for this pull request on JIRA? Then could you also rename pull request title in the following format?
See also: |
Codecov Report
@@ Coverage Diff @@
## master #9337 +/- ##
=======================================
Coverage 81.89% 81.89%
=======================================
Files 215 215
Lines 52988 52988
=======================================
Hits 43392 43392
Misses 9596 9596
Continue to review full report at Codecov.
|
@ritchie46 I guess you need to prepend your Jira Issue to your PR-title: So, I guess And thank you for the PR! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good to me. Thanks @ritchie46
FYI @vertexclique
On my machine, specifically, I tested in this manner:
|
I think we've talked about this mutual exclusivity of features here: #8665 (comment)
|
Will this be published as a patch version to 3.0.0? |
@ChristianBeilschmidt -- I do not know what the plans are for a 3.0.0 patch. @andygrove do you know of how/if we do such a thing? |
For any JIRA issues that we want to include in a patch release, we should update the release version to include both |
I assigned both |
… 'simd + avx512' This fixes conditional compilation for `simd` and `avx512`. Currently compilation for both fails: ``` error[E0428]: the name `buffer_bin_and` is defined multiple times --> arrow/src/buffer.rs:472:1 | 414 | / pub(super) fn buffer_bin_and( 415 | | left: &Buffer, 416 | | left_offset_in_bits: usize, 417 | | right: &Buffer, ... | 468 | | } 469 | | } | |_- previous definition of the value `buffer_bin_and` here ... 472 | / pub(super) fn buffer_bin_and( 473 | | left: &Buffer, 474 | | left_offset_in_bits: usize, 475 | | right: &Buffer, ... | 501 | | } 502 | | } | |_^ `buffer_bin_and` redefined here | = note: `buffer_bin_and` must be defined only once in the value namespace of this module error[E0428]: the name `buffer_bin_or` is defined multiple times --> arrow/src/buffer.rs:583:1 | 525 | / pub(super) fn buffer_bin_or( 526 | | left: &Buffer, 527 | | left_offset_in_bits: usize, 528 | | right: &Buffer, ... | 579 | | } 580 | | } | |_- previous definition of the value `buffer_bin_or` here ... 583 | / pub(super) fn buffer_bin_or( 584 | | left: &Buffer, 585 | | left_offset_in_bits: usize, 586 | | right: &Buffer, ... | 612 | | } 613 | | } | |_^ `buffer_bin_or` redefined here | = note: `buffer_bin_or` must be defined only once in the value namespace of this module ``` This PR is tested on: `$ cargo c --features "simd"` `$ cargo c --features "simd avx512"` `$ cargo c --features "avx512"` Maybe a check like used in [cargo hack](https://github.com/taiki-e/cargo-hack) can be added to the CI pipeline? This checks compilation for multiple feature combinations. Closes apache#9337 from ritchie46/fix-feature-compilation Authored-by: Ritchie Vink <ritchie46@gmail.com> Signed-off-by: Jorge C. Leitao <jorgecarleitao@gmail.com>
… 'simd + avx512' This fixes conditional compilation for `simd` and `avx512`. Currently compilation for both fails: ``` error[E0428]: the name `buffer_bin_and` is defined multiple times --> arrow/src/buffer.rs:472:1 | 414 | / pub(super) fn buffer_bin_and( 415 | | left: &Buffer, 416 | | left_offset_in_bits: usize, 417 | | right: &Buffer, ... | 468 | | } 469 | | } | |_- previous definition of the value `buffer_bin_and` here ... 472 | / pub(super) fn buffer_bin_and( 473 | | left: &Buffer, 474 | | left_offset_in_bits: usize, 475 | | right: &Buffer, ... | 501 | | } 502 | | } | |_^ `buffer_bin_and` redefined here | = note: `buffer_bin_and` must be defined only once in the value namespace of this module error[E0428]: the name `buffer_bin_or` is defined multiple times --> arrow/src/buffer.rs:583:1 | 525 | / pub(super) fn buffer_bin_or( 526 | | left: &Buffer, 527 | | left_offset_in_bits: usize, 528 | | right: &Buffer, ... | 579 | | } 580 | | } | |_- previous definition of the value `buffer_bin_or` here ... 583 | / pub(super) fn buffer_bin_or( 584 | | left: &Buffer, 585 | | left_offset_in_bits: usize, 586 | | right: &Buffer, ... | 612 | | } 613 | | } | |_^ `buffer_bin_or` redefined here | = note: `buffer_bin_or` must be defined only once in the value namespace of this module ``` This PR is tested on: `$ cargo c --features "simd"` `$ cargo c --features "simd avx512"` `$ cargo c --features "avx512"` Maybe a check like used in [cargo hack](https://github.com/taiki-e/cargo-hack) can be added to the CI pipeline? This checks compilation for multiple feature combinations. Closes apache#9337 from ritchie46/fix-feature-compilation Authored-by: Ritchie Vink <ritchie46@gmail.com> Signed-off-by: Jorge C. Leitao <jorgecarleitao@gmail.com>
This fixes conditional compilation for
simd
andavx512
. Currently compilation for both fails:This PR is tested on:
$ cargo c --features "simd"
$ cargo c --features "simd avx512"
$ cargo c --features "avx512"
Maybe a check like used in cargo hack can be added to the CI pipeline? This checks compilation for multiple feature combinations.