小编bos*_*evs的帖子

如何修复丢失的生命周期说明符?

我有一个非常简单的方法.第一个参数采用向量组件("A",5,0),我将它与另一个向量的每个元素进行比较,看它们是否具有相同的(_,5,_),然后打印出找到的元素的字符串.

比较("A",5,0)和("Q",5,2)应打印出Q.

fn is_same_space(x: &str, y1: i32, p: i32, vector: &Vec<(&str, i32, i32)>) -> (&str) {
    let mut foundString = "";

    for i in 0..vector.len() {

        if y1 == vector[i].1 {
            foundString = vector[i].0;
        }

    }
    foundString    
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误

error[E0106]: missing lifetime specifier
 --> src/main.rs:1:80
  |
1 | fn is_same_space(x: &str, y1: i32, p: i32, vector: &Vec<(&str, i32, i32)>) -> (&str) {
  |                                                                                ^ expected lifetime parameter
  |
  = help: this function's return type contains a borrowed value, but the …
Run Code Online (Sandbox Code Playgroud)

lifetime rust

4
推荐指数
1
解决办法
4095
查看次数

什么是RUST_BACKTRACE应该告诉我的?

我的程序很恐慌,所以我按照它的建议运行RUST_BACKTRACE=1,我得到了这个(只是一个小片段).

1: 0x800c05b5 - std::sys::imp::backtrace::tracing::imp::write::hf33ae72d0baa11ed
            at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42

2: 0x800c22ed - std::panicking::default_hook::{{closure}}::h59672b733cc6a455
            at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libstd/panicking.rs:351
Run Code Online (Sandbox Code Playgroud)

如果程序发生恐慌,它会停止整个程序,那么我在哪里可以弄清楚它在恐慌的哪一行?

这条线告诉我第42行和第351行有问题吗?

整个回溯都在这张图片上,我觉得将它复制并粘贴在这里会很麻烦.

在此输入图像描述

我从未听说过堆栈跟踪或后跟踪.我正在编译警告,但我不知道调试符号是什么.

debugging backtrace panic rust

3
推荐指数
1
解决办法
1129
查看次数

标签 统计

rust ×2

backtrace ×1

debugging ×1

lifetime ×1

panic ×1