问题标签 [rust-crates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
module - 我可以在不为每个文件引入模块的情况下将 crate 拆分为多个文件吗?
我发现的所有示例都创建一个lib.rs
,然后在该文件中创建mod foo;
,mod bar;
对于每个文件foo.rs
,bar.rs
依此类推。
基本上我想要的是将我的 crate 拆分为多个文件,但不必为每个文件引入大量模块。这对 Rust 来说是不可能的吗?
macros - 如何在另一个箱子中使用宏?
我正在努力使我的 rust lib 中的宏可用于其他 rust 项目。
这是我目前如何尝试完成这项工作的一个示例。
lib.rs
:
macros.rs
:
other_project.rs
:
我在正确的轨道上吗?我一直在尝试使用 std::macros 作为参考,但我似乎运气不佳。有什么明显的我失踪了吗?
rust - 是否可以在 Rust 的不同源文件中有一个模块
这实际上是一个两部分的问题:
- 我可以在 Rust 的单独文件中拥有一个模块吗?
这是我的文件布局。是否可以有一个logging
模块并在该模块内定义一组结构/特征,但在单独的物理文件(记录器,sql)中?
如果可能的话,这样的项目可以用当前的 Cargo 构建吗?
而且,如果可能的话,我如何logging
在我的 app.rs 中引用我在模块中定义的结构?
我正在使用:rustc 0.12.0-pre-nightly (cf1381c1d 2014-07-26 00:46:16 +0000)
postgresql - Rust cargo 找不到 postgres 包
我有这个Cargo.toml
运行时,这导致以下输出cargo build
:
我在这里想念什么?
rust - 如何清除货物缓存?
当我运行时cargo build
,文件夹中存储了各种库/usr/local/lib/rustlib/
。
清除这些库的正确方法是什么?我可以rm
手动处理这些文件,但这是否正确?我注意到这/usr/local/lib/rustlib/manifest
是一个包含所有库的填充文件路径列表的文件,因此如果我手动删除这些文件可能会破坏某些内容。
rust - 如何解决货物中的“`package`的多个匹配箱”?
运行时cargo build
:
然后列出候选人:
./target/deps/liburl-11a95471847b9e04.rlib
/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib/liburl-4e7c5e5c.{so,rlib}
...然后中止,因为它无法决定哪一个。
如何解决此问题或解决此问题?
笔记:
安装细节:
Cargo.toml
:
(从http://nickel.rs/getting-started.html复制并添加了一个额外的依赖项)
我得到的完整错误是:
node.js - 如何链接到本地 Rust 库?(类似于 npm 链接)
在 node 中开发库时,如果您希望针对仅存在于本地的库进行开发,在您之前npm publish
,您可以使用npm link /path/to/other/node_library
.
Rust 的等价物是什么?如何创建另一个链接到 bar 库的 foo 可执行文件,而不先将 bar 库推送到 git 远程?
官方的 rust 教程展示了如何使用 raw 来做到这一点rustc
,如何做到这一点Cargo.toml
?
(cargo 文档向您展示了如何构建一个库,但现在如何链接到一个没有远程存储库的库。)
rust - 生成 rlib 时没有哈希或版本
在官方文档和rustbyexample.com上都指出,在编译库 ( --crate-type=lib
) 时,生成的库文件的文件名中将包含一个哈希,例如libworld-<HASH>-0.42.rlib
.
但是在我的盒子上尝试时,它不会在文件名上生成任何哈希(或版本),它只是“lib”+库名+“.rlib”(如libworld.rlib
)。
这是官方改的吗?
顺便说一句,我在 Ubuntu 14.04 上使用 0.12.0-pre-nightly 版本。
multithreading - Rust 中的 std::sync::Arc of trait
我正在尝试实现用于制作 TCP 服务器的库。
这是一个有问题的非常简化的代码:
编译器完全忽略了我的Handler + Sized
. 如果我使用 trait Handler 实现结构并尝试serve
使用此结构调用,则有关大小的此类建议也将被忽略(http://is.gd/OWs22i)。
我怎样才能用多线程实现一个模板函数来接受不同的处理程序?
rust - 如何访问 crate 的“tests”目录中的导出函数?
如何在创建的“测试”目录中访问我的库导出函数?
src/relations.rs:
测试/test.rs:
如果我添加建议extern crate relations
的,错误是:
我想relations
在这个单独的tests/test.rs
文件中测试我的。我该如何解决这些use
问题?