问题标签 [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.

0 投票
1 回答
1080 浏览

rust - 从 lint 中找出 crate 的当前版本?

我正在开发一个扩展的弃用 lint,它可以决定某些东西是否已经被弃用或将被弃用。但是还有一个问题:Crates 似乎没有版本信息。我知道我可以使用 cargo 将设置的一些环境变量来获取当前 Crate 的版本,但这不足以区分依赖项的弃用部分。

我至少可以通过ctx.sess.local_crate_source_file(如 fhahn 的当前 PR .

因此,除非获取文件路径并手动查找和解析Cargo.lock(我认为这很脆弱而且很笨拙),有没有办法获取依赖项的版本号,如果有,怎么做?

0 投票
1 回答
413 浏览

module - 我是如何弄乱这些模块的?

我正在尝试创建一个包含库和一个或多个二进制文件的板条箱。我看过带有库和二进制文件的 Rust 包?以及关于 crates 和模块的 Rust 书籍部分,但是当我尝试编译时仍然遇到错误。

我已经包含了每个文件的相关部分(我认为)。

../cargo.toml:

lib.rs:

lib_plotMote/mod.rs:

lib_plotMote/LogstreamProcessor.rs:

main.rs:

错误:

0 投票
1 回答
1557 浏览

module - 使用嵌套模块中的项目时出现“未解析的导入”

我有一个小程序,我一直在尝试开始工作,但我不断收到未解决的导入消息。

main.rs:

sub_module.rs:

sub_sub_module.rs:

但是,在执行时,cargo build我得到一个“未解决的导入sub_sub_module::a_structure”。我发现的有关可见性的所有内容都表明这应该可以工作,但不能。我在这里想念什么?

0 投票
1 回答
80 浏览

rust - 无法跟踪 Rust 中的类型预期错误

存储库
https://github.com/hunterlester/rusty_arcade

版本
Rust:1.7.0
sdl2:0.16.1
sdl2_image:0.16.0

错误


沿着指定文件的第 93 行和第 94 行跟踪它。

我假设这与.to_sdl()方法返回的内容有关。

to_sdl 方法

to_sdl 返回一个在文件顶部使用的 SdlRect:

sdl2 源
https://github.com/AngryLawyer/rust-sdl2/blob/master/src/sdl2/rect.rs

我看不出sdl2::rect::Rect应该在哪里包装在core::option::Option枚举类型中。

如果您碰巧熟悉我正在学习的教程,您会注意到我使用的版本sdl2_image与教程中指定的版本不同,因为指定的版本已从 Crates 中提取。

sdl2_image取决于sdl2我必须匹配的不同版本才能处理其他错误。

0 投票
1 回答
1873 浏览

rust - 找不到“人造丝”的箱子

我正在尝试使用并行化查找 BST 的直径:

当我编译(rustc code.rs)时,它显示

我的 Rust 版本是rustc 1.8.0 (db2939409 2016-04-11)

0 投票
1 回答
1307 浏览

rust - 如何在 Rust 项目之间共享公共代码而不发布到 crates.io?

这个问题可能没有一个好的答案,但我有一些代码我想在两个不同的 Rust 项目之间共享,而不会将 crate 发布到 crates.io。

该代码是专有的,我不想将其公开。

0 投票
1 回答
18311 浏览

installation - 通过 cargo 安装板条箱时出错:指定的包没有二进制文件

我正在尝试使用 Cargo 在我的系统(Arch Linux)上安装 Rust crate。我可以搜索 crates 并找到我需要的东西,例如:

当我尝试安装它时,我收到以下错误:

这是什么意思?我必须先从源代码构建它吗?如果 Cargo 不首先安装它,它的意义何在?

0 投票
1 回答
82 浏览

ftp - 使用 ftp crate 时未解析的名称“二进制”

我正在使用 ftp crate从 FTP 服务器下载文件:

但下载后 zip 文件已损坏:

我已经设置了要传输的文件类型,但我不知道如何。

像这样:

不管用。

0 投票
1 回答
496 浏览

rust - 无法在我的 Rust 项目中使用 conrod 库:找不到板条箱活塞窗口

我是 Rust 的新手,我正在尝试使用Conrod 库打开一个窗口,就像他们在canvas.rs示例中所做的那样:

当我在 Conrod 项目(我从 GitHub 下载的那个)的一个文件中使用此代码时,它可以工作,但是当我在自己的代码中使用它时它不起作用:

使用以下 Cargo.toml:

然后编译器告诉我:

我想我Cargo.toml错了,但我不知道我应该做什么。

0 投票
0 回答
545 浏览

module - 创建一个包含多个模块的 Rust 库,这些模块都是一个统一的 API

我有一个练习库来学习 Rust。这个库提供了两种方法:

  1. 核心方法应该在一个名为renderay_core.rs的文件中。
  2. 使用核心方法的形状方法具有更高的抽象/更具体的核心方法实现;“常用”案例的便捷方法。这些应该在一个名为renderay_shapes.rs的文件中。

我还希望将单元测试作为子模块包含在其中。

我想到了类似的东西:

  • renderay.rs是库源[lib] path="src/renderay.rs"
  • renderay_core.rs是一个模块,它作为 public(?) 加载到renderay.rs中以产生其 API
  • renderay_shapes.rs也是 renderay.rs 中的一个模块,但也将 renderay_core.rs 导入核心API

如果我将此 crate 作为依赖项加载,我希望renderay_core.rsrenderay_shapes.rs的 API可用。

我确信这是一项微不足道的任务,但我很难理解来自 Java 和 C 的模块机制。我已经阅读了crates 和模块文档。如何设置这样的结构并成功编译?