- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么调用这个函数:
use std::string::ToString;
use std::ffi::OsString;
fn len<T: ToString>(v: &T) -> usize {
v.to_string().len()
}
fn main() {
let text = OsString::from("Hello, world!");
let tlen = len(&text);
println!("len('{:?}') = {}", &text, tlen);
}
引发此编译错误:
<anon>:10:16: 10:19 error: the trait `core::fmt::Display` is not implemented for the type `std::ffi::os_str::OsString` [E0277]
<anon>:10 let tlen = len(&text);
^~~
<anon>:10:16: 10:19 note: `std::ffi::os_str::OsString` cannot be formatted with the default formatter; try using `:?` instead if you are using a format string
<anon>:10 let tlen = len(&text);
^~~
error: aborting due to previous error
playpen: application terminated with error code 101
我知道代码被破坏了,因为 OsString
没有实现 ToString
。
最佳答案
trait ToString
是implemented by all types that implement Display
(事实上,只有那些类型):
impl<T: fmt::Display + ?Sized> ToString for T {
...
因此,当编译器寻找 ToString
的实现时,它最终会尝试为 Display
寻找一个实现,这就是 的特征搜索失败的地方OsString
(Display
没有相同类型的“一揽子实现”)。
关于compiler-errors - 将 OsString 传递给 func<T : ToString>, 的误导性错误 Display 特征从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29944364/
我必须通过向 td 添加一个名为 active 的类来突出显示多个单元格。此类将更改边框颜色以突出显示单元格。 这里的问题是,如果选择了特定单元格的顶部、右侧、底部和左侧单元格,那么中心单元格将看起来
我已经按照以下步骤完成: https://www.youtube.com/watch?v=88dmtleVywk&list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT&ind
我有三个文章标签,每个标签都有 1 个部分,我需要对其进行动画显示,即从 0px 到任何 px 的高度。每篇文章都有一个 ID 什么是最有效的方法来为每篇文章设置点击事件,而无需为每个单独的 ID 编
我试图理解以下程序的奇怪行为。很明显,在全局变量“bug”的定义过程中发生了溢出,但是程序在无辜计算1.0+2.0的过程中抛出了浮点异常。 #include #include #include
当我尝试以下错误代码时: not_float = [1, 2, 3] "{:.6f}".format(not_float) 我收到以下误导性 ValueError: ValueError: Unkno
我是一名优秀的程序员,十分优秀!