Rust 带Racer代码完成的防锈管柱

Rust 带Racer代码完成的防锈管柱,rust,code-completion,Rust,Code Completion,如果我将字符串文字声明为: let text = "this is text"; text. // Racer returns no completion options let text: String = "this is text"; text. // Racer returns many completion options Racer在键入text之后不会返回任何完成选项。 但是,如果我将字符串文字声明为: let text = "this is text"; text. /

如果我将字符串文字声明为:

let text = "this is text";
text.  // Racer returns no completion options
let text: String = "this is text";
text.  // Racer returns many completion options
Racer在键入
text之后不会返回任何完成选项。

但是,如果我将字符串文字声明为:

let text = "this is text";
text.  // Racer returns no completion options
let text: String = "this is text";
text.  // Racer returns many completion options
Racer将在键入
文本后返回完成选项。


我不怀疑Racer有任何问题,而是我对生锈弦的理解。有人能给我解释一下为什么Racer没有为第一个示例返回任何完成选项,以及我如何能够看到哪些方法可用于
text

我不怀疑Racer=>Racer有任何问题,但它对AFAIK类型系统的理解仍然相当有限(Rust Language Server的工作正在进行中,它将是一个类固醇赛车手)。根据我对字符串的理解,我怀疑您在这里遇到了限制。相关的赛车手问题:-正在进行中!顺便说一句,您的示例中的
文本
是一个
和的静态str
,而不是
字符串
(所以我不确定把Racer的建议放在一边,你的代码是否可以编译)。在一般情况下,由于类型推断,添加类型提示可能会帮助Racer在正确的类型上搜索方法。我不怀疑Racer=>Racer有什么问题,但它对AFAIK类型系统的理解仍然相当有限(Rust Language Server的工作正在进行中,它将是一个类固醇赛车手)。根据我对字符串的理解,我怀疑您在这里遇到了限制。相关的赛车手问题:-正在进行中!顺便说一句,您的示例中的
文本
是一个
和的静态str
,而不是
字符串
(所以我不确定把Racer的建议放在一边,你的代码是否可以编译)。在一般情况下,由于类型推断,添加类型提示可能会帮助Racer在正确的类型上搜索方法