Skip to content

Conversation

@ghost
Copy link

@ghost ghost commented Apr 27, 2019

crossbeam-deque and crossbeam-utils don't really need 1.28.0, we can support 1.26.0

@cuviper
Copy link
Contributor

cuviper commented Apr 27, 2019

Ah, the latest published versions (crossbeam-deque-0.7.1 and crossbeam-utils-0.6.5) work fine with 1.26, but crossbeam-utils on master is using #[repr(transparent)].

crossbeam-deque 0.7.0 and 0.7.1 already documented that it required 1.28 though. Will you be bumping semver on the others for the updated requirement?

@ghost
Copy link
Author

ghost commented Apr 27, 2019

@cuviper Thanks for tracking this down, I forgot about #[repr(transparent)].

What do you think about introducing legacy feature flag to crossbeam-deque and crossbeam-utils that supports whatever the Rust version is used by Rayon?

@cuviper
Copy link
Contributor

cuviper commented Apr 27, 2019

If you're willing to carry such conditions in the code, I'd rather see that auto-detected, so rayon doesn't have to be an inhibitor. It could either use a version check or probing like autocfg, though I don't have an API to probe for attributes yet. Also note that we can't probe crossbeam features from the rayon side, because build scripts can't affect cargo-level features.

If you're open to this, I can take it on myself to make a PR.

@ghost
Copy link
Author

ghost commented Apr 27, 2019

@cuviper Yeah, that'd be a cleaner solution because then we wouldn't have to add new features to Cargo.toml.

I'd be happy to accept a PR for this :) Thanks!

@ghost
Copy link
Author

ghost commented May 2, 2019

@cuviper How about this? https://github.com/dtolnay/select-rustc

@cuviper
Copy link
Contributor

cuviper commented May 2, 2019

Yeah, select-rustc looks really cool -- but it's a 2018 edition crate, so it needs at least 1.31 itself.

@jeehoonkang
Copy link
Contributor

jeehoonkang commented May 10, 2019

I'm proposing to revert #360, and support Rust 1.26. #360 is a good improvement, but I think its benefit doesn't outweigh its drawback, which is breaking the compatibility with Rayon.

Further, I'm proposing to stick with the Rust version supported by Rayon in the future as much as possible, and document the policy in e.g. /ci/*.sh.

@ghost
Copy link
Author

ghost commented May 10, 2019

@jeehoonkang Yeah, maybe we should revert that. In fact, only #[repr(transparent)] bumps the minimum Rust version so it's enough if we just remove that line.

@jeehoonkang jeehoonkang mentioned this pull request May 10, 2019
bors bot added a commit that referenced this pull request May 10, 2019
373: Support Rust 1.26 r=stjepang a=jeehoonkang

Closes #365 

Remaining question: should we commit to support the minimum supported Rust version of Rayon?


Co-authored-by: Jeehoon Kang <jeehoon.kang@kaist.ac.kr>
@bors bors bot closed this in #373 May 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants