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

exa does not compile with Rust 1.0 #64

Closed
FrancoisBlavoet opened this issue May 15, 2015 · 6 comments
Closed

exa does not compile with Rust 1.0 #64

FrancoisBlavoet opened this issue May 15, 2015 · 6 comments
Assignees
Labels
errors › build error exa fails to build

Comments

@FrancoisBlavoet
Copy link

Hi,

if I try to compile exa with Rust 1.0, I get :

Compiling users v0.4.1
/Users/francois/.cargo/registry/src/github.com-1ecc6299db9ec823/users-0.4.1/src/lib.rs:4:1: 4:31 error: unstable feature
/Users/francois/.cargo/registry/src/github.com-1ecc6299db9ec823/users-0.4.1/src/lib.rs:4 #![feature(collections, core)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: this feature may not be used in the stable release channel
error: aborting due to previous error
Build failed, waiting for other jobs to finish...
/Users/francois/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-0.1.30/src/lib.rs:370:34: 370:48 error: unstable feature
/Users/francois/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-0.1.30/src/lib.rs:370 #![cfg_attr(feature = "pattern", feature(core))]
^~~~~~~~~~~~~~
note: this feature may not be used in the stable release channel
error: aborting due to previous error
Could not compile users.

Is a migration to Rust 1.0 planned ? Having to use Rust nightly to compile exa is unwieldy.

@ogham ogham self-assigned this May 16, 2015
@ogham
Copy link
Owner

ogham commented May 16, 2015

Sadly not :(

Don't get me wrong, I'd love to be able to compile with Rust 1.0! But unfortunately at the moment I'm using a lot of unstable APIs that only work with the nightly:

  • I need the fs_ext and fs_mode features to determine file permissions;
  • I need the file_type feature to determine file types;
  • I need the metadata_ext and raw_ext features to get things like the user and group numbers, and modification date;
  • I need the symlink_metadata feature to handle getting info on symlinks correctly.

So it's not just a case of using a few features from collections or core that I might be able to work around - a version without these unstable features would have a significant loss in functionality.

The way I'm working around it is by using multirust to have the stable, beta, and nightly channels installed side-by-side. And until these features become stable, this might be the best you can do.

@FrancoisBlavoet
Copy link
Author

Thanks for clearing that up.
Too bad ! Well, in the meantime, one can always download the last release for easy installation.

@ogham
Copy link
Owner

ogham commented May 16, 2015

Too bad indeed. I'm going to do a new release in the next few days because the current one is missing a few features!

@ogham ogham added the errors › build error exa fails to build label Sep 2, 2015
@ogham ogham added this to the v1 milestone Sep 2, 2015
@ogham
Copy link
Owner

ogham commented Sep 2, 2015

Minor update on this! There are currently six things in exa that require a nightly compiler:

  • The iter_arith, convert, fs_mode, slice_splits, and vec_resize feature flags. All of these use recently-added APIs which are likely to be stabilised in the near future.
  • The scoped_threadpool crate, which requires an unsafe block to work on stable.

So we're past the point where exa is using experimental stuff, and are just waiting for things to settle down.

@ogham
Copy link
Owner

ogham commented Oct 30, 2015

Rust 1.4.0 allows safe scoped threadpools, so we're down to five things that require a nightly compiler!

@ogham
Copy link
Owner

ogham commented Nov 19, 2015

Fixed in #85!

@ogham ogham closed this as completed Nov 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
errors › build error exa fails to build
Projects
None yet
Development

No branches or pull requests

2 participants