Я установил отладчик кода Visual Studio и запустил следующую программу.
pub fn main() {
let mut chars = "test".chars();
match chars.next() {
Some(c) => {
println!("What is the value of c, here?");
if c == 'c' {
println!("c");
}
}
None => {}
}
}
Если я установил точку останова в строке 6 и посмотрел на панелях Переменные и Наблюдение, c не оценивает, но скорее передает следующее сообщение: identifier 'c' is undefined
используя cppvsdbg в Windows или <not available>
используя lldb в Linux.Я подтвердил, что это происходит как в сборках Linux, так и в Windows, для текущей стабильной версии компилятора.
Я также добавил следующее к Cargo.toml безрезультатно:
[profile.dev]
opt-level = 0
debug = true
Для справки, вот мой файл launch.json, необходимый для компилятора кода VS:
{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/test.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true
}
]
}
Замените "(Windows) Launch" на выбранную вами ОС.
Почему эторезультат?Есть ли исправление или какие-то опции компилятора, которые следует добавить?