citybound/citybound

error[E0554]: #![feature] may not be used on the stable release channel

Near-Tam opened this issue · 2 comments

when I run:

$ cargo test  --verbose

return the error:

Running `rustc --crate-name kay_codegen engine/kay_codegen/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C opt-level=1 -C codegen-units=4 -C debuginfo=2 -C debug-assertions=on --cfg 'feature="default"' --cfg 'feature="syn"' -C metadata=8bcab05d65606add -C extra-filename=-8bcab05d65606add --out-dir /home/tzy/downloads/citybound-0.3.0/target/debug/deps -C incremental=/home/tzy/downloads/citybound-0.3.0/target/debug/incremental -L dependency=/home/tzy/downloads/citybound-0.3.0/target/debug/deps --extern glob=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libglob-a20ddbf396d64da4.rlib --extern ordermap=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libordermap-85ab475bab1fed4b.rlib --extern quote=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libquote-9eddb84c27a68faa.rlib --extern syn=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libsyn-3eed7b4429621811.rlib`
error[E0554]: #![feature] may not be used on the stable release channel                                                                                                                                            
 --> engine/kay_codegen/src/lib.rs:2:1                                                                                                                                                                             
  |                                                                                                                                                                                                                
2 | #![feature(conservative_impl_trait)]                                                                                                                                                                           
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                           
                                                                                                                                                                                                                   
error: aborting due to previous error                                                                                                                                                                              
                                                                                                                                                                                                                   
For more information about this error, try `rustc --explain E0554`.                                                                                                                                                
error: Could not compile `kay_codegen`.                                                                                                                                                                            

Caused by:
  process didn't exit successfully: `rustc --crate-name kay_codegen engine/kay_codegen/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C opt-level=1 -C codegen-units=4 -C debuginfo=2 -C debug-assertions=on --cfg 'feature="default"' --cfg 'feature="syn"' -C metadata=8bcab05d65606add -C extra-filename=-8bcab05d65606add --out-dir /home/tzy/downloads/citybound-0.3.0/target/debug/deps -C incremental=/home/tzy/downloads/citybound-0.3.0/target/debug/incremental -L dependency=/home/tzy/downloads/citybound-0.3.0/target/debug/deps --extern glob=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libglob-a20ddbf396d64da4.rlib --extern ordermap=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libordermap-85ab475bab1fed4b.rlib --extern quote=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libquote-9eddb84c27a68faa.rlib --extern syn=/home/tzy/downloads/citybound-0.3.0/target/debug/deps/libsyn-3eed7b4429621811.rlib` (exit code: 1)

by the way, rustc and cargo version:
rustc 1.31.1 (b6c32da9b 2018-12-18)
cargo 1.31.0 (339d9f9c8 2018-11-16)

ccope commented

That is because this project must be built with a nightly build (not a stable release) of the rust compiler. Your version is old enough that I'm guessing you installed a stable version from a package manager. See how to install rustup for managing rust versions here: https://github.com/rust-lang/rustup/blob/master/README.md#installation

How to install a nightly version of the rust compiler: https://github.com/rust-lang/rustup/blob/master/README.md#working-with-nightly-rust

How to set the nightly compiler as the default for your current directory: https://github.com/rust-lang/rustup/blob/master/README.md#directory-overrides

Citybound has special helper scripts that make sure you use the correct nightly that I build Citybound with. This requires that you have dustup like @ccope recommended (thanks!). Check out CONTRIBUTING.md for how to setup Citybound for building it yourself!