Как связать/вложить ящики при публикации?

У меня есть проект, в котором я разбит на несколько ящиков для лучшей организации, также используются модули, однако некоторые части проекта, хотя и логически автономны, полезны только в контексте моего проекта и не предназначены для полнофункционального , библиотеки общего назначения.

Например, у меня есть крейт, который записывает формат файла, но поддерживает только ограниченный набор функций, необходимых для приложения.

Когда я попытался опубликовать это на crates.io, мне показалось необходимым также опубликовать все вложенные ящики ( извиняюсь за отсутствие точной ошибки, но я предпочитаю не публиковать случайно ящик только для того, чтобы проверить это еще раз).

Так как не имеет особого смысла использовать вне этого проекта и определенно не имеет смысла указываться в корневом пространстве имен на crates.io.

Можно ли опубликовать проект на crates.io, который включает вложенные создания, которые сами по себе не опубликованы на crates.io?


Добавлено примечание, поскольку ящики могут быть приложениями для конечных пользователей, см.: "Следует ли загружать утилиты/приложения конечных пользователей на crates.io?"
Бывают случаи, когда ящики могут быть компонентом приложения, когда нет никакого намерения писать библиотеку, которую другие могут встроить в свои проекты.


person ideasman42    schedule 27.10.2016    source источник
comment
Если бы я, например, наткнулся на ваш ящик crates.io и решил использовать его в своем проекте... что вы ожидаете, когда я попытаюсь собрать свой проект? Если ответ таков: он должен потерпеть неудачу - почему вы ставите свой ящик на crates.io в первую очередь? (искренне любопытно.. не совсем понимаю)   -  person Simon Whitehead    schedule 27.10.2016
comment
Хороший момент, так как это скорее утилита/приложение — я хотел поместить его на crates.io, чтобы другие могли его установить. Возможно, это неправильное использование crates.io, в FAQ об этом не упоминается, и уже есть примеры инструментов для конечных пользователей. Отредактирую вопрос.   -  person ideasman42    schedule 27.10.2016
comment
@Simon Whitehead, даже если не учитывать приложения, возможно, библиотека высокого уровня может включать в себя низкоуровневые ящики, которые не так полезно раскрывать самостоятельно.   -  person ideasman42    schedule 27.10.2016
comment
Лично я считаю, что если описание понятно (и вы могли бы назвать его myapp-mylib), проблем не возникнет. Но я буду наблюдать, потому что в какой-то момент я окажусь в похожей ситуации!   -  person Chris Emerson    schedule 27.10.2016
comment
@Chris Emerson, даже в этом случае ... Я не хочу, чтобы кто-то еще использовал его по практическим причинам (это с открытым исходным кодом, поэтому, конечно, они могут использовать, если действительно хотят), я просто хочу изолировать код в приложении и не нужно учитывать совместимость API, обновлять каждый ящик для выпуска приложения... и выяснять, что произойдет, если приложению это больше не нужно. Хотя myapp-mylib может работать, это похоже на неправильное использование crates.io.   -  person ideasman42    schedule 27.10.2016
comment
Я думаю, вам следует задать этот вопрос на users.rust-lang.org.   -  person Francis Gagné    schedule 28.10.2016