Туториал устарел. Лучше всегда читать
официальную доку. Она в Rust очень удобная и в сообществе принято её хорошо сдабривать примерами.
Первая ошибка говорит о том, что Вы возвращаете
Candle {...}, в то время как ожидается
Result (это как раз устаревшая часть туториала). Просто сделайте
Ok(Candle {...}) (пример с документации как раз подобное и показывает).
Вторая ошибка говорит о том, что Вы пытаетесь возвращаемый тип
rusqlite::row::MappedRows подставить туда, где явно ожидаете
Vec. Rust статически и строго типизированный язык, так не получится. По сути, Вам там просто нужно добавить
.collect() после
?. Так как
MappedRowsреализует Iterator, то
.collect() как раз пробежится по всем значениям итератора и соберёт их в
Vec, который Вам и нужен.