Cargo.toml для библиотеки

Я хочу создать библиотеку для ржавчины. Это файл Cargo.toml для моего проекта:

[package]
name = "binary_tree"
version = "0.0.1"
authors = ["Guillaume Bersac <[email protected]>"]

[lib]
test = true
plugin = false

Это файл моего репозитория:

Cargo.toml
README.md
src
|_node.rs

Когда я запускаю команду "Cargo run", "cargo build" или "cargo test", я получаю следующее сообщение об ошибке:

Cargo.toml не является действительным манифестом

ожидал значение типа array, но нашел значение типа table для ключа lib

Как отформатировать мой Cargo.toml, чтобы он правильно компилировался?


person Moebius    schedule 17.10.2014    source источник
comment
Какие версии Cargo и Rust вы используете? Мне кажется, вы используете старую версию Cargo.   -  person Chris Morgan    schedule 18.10.2014


Ответы (2)


Вы используете последние rustc и cargo? В противном случае, я думаю, вам нужен был [[lib]], который создает массив таблиц в TOML.

person BurntSushi5    schedule 17.10.2014
comment
Cargo [[lib]] больше не использует, пару месяцев не использовал. [lib] правильно. - person Chris Morgan; 18.10.2014

Это правильный Cargo.toml:

[package]
name = "binary_tree"
version = "0.0.1"
authors = ["Guillaume Bersac <[email protected]>"]

[[lib]]
name="binary_tree"
test = true
plugin = false

Похоже, у меня старая версия Cargo. Это странно, потому что я установил его вчера, следуя официальному руководству и используя это команда:

$ curl -s https://static.rust-lang.org/rustup.sh | sudo sh

Моя версия rustc: rustc 0.13.0-nightly (40b244973 2014-10-14 23:22:20 +0000)

Моя грузовая версия: cargo 0.0.1-pre-nightly (9788700 2014-10-15 20:14:53 +0000)

person Moebius    schedule 18.10.2014
comment
Я не уверен, почему вы не приняли мой ответ. В моем ответе предполагалось, что вы использовали старый cargo и, вероятно, вам нужно было использовать [[lib]]. Действительно, это именно то, что у вас здесь. - person BurntSushi5; 27.10.2014
comment
Ваш ответ правильный, я определил свой ответ как правильный, потому что мой ответ более точен, чем ваш (пример решения). Лучше, чтобы любой пользователь, зашедший на эту страницу, увидел максимально развернутый ответ. Приносим извинения за 15 очков репутации, которые вы теряете из-за этого изменения. - person Moebius; 27.10.2014
comment
В будущем было бы любезно с вашей стороны оставить комментарий, прося отвечающего дополнить его полным примером. - person BurntSushi5; 27.10.2014