Comments 6
use std::fs::File;
fn main() {
let f = File::create("foo.txt")?;
}
rustc 1.13.0 (2c6933acc 2016-11-07)
error[E0277]: the trait bound `(): std::ops::Carrier` is not satisfied
--> <anon>:4:13
|
4 | let f = File::create("foo.txt")?;
| ^^^^^^^^^^^^^^^^^^^^^^^^ trait `(): std::ops::Carrier` not satisfied
|
= note: required by `std::ops::Carrier::from_error`
error: aborting due to previous error
Хм, я ожидал что благодаря введению специального оператора очень частая ошибка новичков — попытка пробросить ошибку из функции, которая не возвращает Result
— получит внятное сообщение об ошибке :(
+4
Ну, Core Team сами пишут:
Однако в данном выпуске сообщения об ошибках использования ?
реализованы ещё не полностью.
+3
Есть еще проблема: попробуй создать локальную лямбду и из нее выбросить ошибку.
0
Хотя нет, вроде починили, но всё равно во всяких цепочках итераторов сложновато? применять. Хотелось бы какого-нибудь аналога для Option
https://play.rust-lang.org/
+1
Меня больше всего радуют stack-based drop flags
Наконец-то нормальный интероп со всяким сишным антиквариатом :)
+3
UFO just landed and posted this here
Sign up to leave a comment.
Выпуск Rust 1.13