Skip to content
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

Rayon 0.7.1 is broken #364

Closed
Benjamin-L opened this issue Jun 14, 2017 · 4 comments
Closed

Rayon 0.7.1 is broken #364

Benjamin-L opened this issue Jun 14, 2017 · 4 comments

Comments

@Benjamin-L
Copy link

Rayon 0.7.1 compilation fails with the following error:

error[E0432]: unresolved import `rayon_core::spawn_async`
  --> /home/benjamin/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-0.7.1/src/lib.rs:41:9
   |
41 | pub use rayon_core::spawn_async;
   |         ^^^^^^^^^^^^^^^^^^^^^^^ no `spawn_async` in the root

error[E0432]: unresolved import `rayon_core::spawn_future_async`
  --> /home/benjamin/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-0.7.1/src/lib.rs:43:9
   |
43 | pub use rayon_core::spawn_future_async;
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `spawn_future_async` in the root. Did you mean to use `spawn_future`?

I assume that this is a dependency specification issue, as rayon-core was recently updated to change the name of spawn_async.

@cuviper
Copy link
Member

cuviper commented Jun 14, 2017

To be clear, stable rayon 0.7.1 still builds fine with the new rayon-core 1.1.

We don't have a really good story for how we change unstable features. We could make rayon pin a tilde requirement on rayon-core, and make sure we always bump minor versions for unstable changes, but that goes against our desire to make sure there's only one rayon-core everywhere. i.e. if there are multiple rayons in your project, we still want exactly one rayon-core.

If you can't upgrade, then you could also manually pin rayon-core = "~1.0" yourself. After all, you're the one relying on unstable features here. 😉

We should probably think about stabilizing those features, and avoid adding new features this way, because it won't fly well long term...

@Benjamin-L
Copy link
Author

Oh, that makes sense. The issue was actually not in my library, but in the specs library, so I might go open an pull request there to have them update instead.

@nikomatsakis
Copy link
Member

Yes, Servo was also encountering a similar problem. This just serves to reinforce the reason that the Rust project has always drawn a big, bright line around unstable features. I guess we have to do the same.

@nikomatsakis
Copy link
Member

Closing this issue, as I don't think this is a bug itself. But I opened https://github.com/nikomatsakis/rayon/issues/369, which is a proposal for a new way to handle unstable APIs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants