32bit_me
@32bit_me
Программист, встраиваемые системы

Что означает ->! в Rust?

Пример из исходника:
pub unsafe extern fn kstart(args_ptr: *const KernelArgs) -> ! {

Какой тип возвращает функция и что означает: "-> !"
  • Вопрос задан
  • 382 просмотра
Решения вопроса 1
ozkriff
@ozkriff
Rust э̶н̶т̶у̶з̶и̶а̶с̶т сектант, хобби игродел
Для непонятных кусков синтаксиса есть отличная страница - https://doc.rust-lang.org/book/first-edition/synta...

Там легко находится пункт "!: always empty Never type. See Diverging Functions", ссылающийся на подробности в первой редакции Книги:

- https://doc.rust-lang.org/book/first-edition/funct...
- https://rurust.github.io/rust_book_ru/src/function...

Если очень коротко, такой возвращаемый тип функции значит что она никогда не вернет управление.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@potan
Функциональный программист
Функция ни когда не завершается, что позволяет ее вызывать так, как будто она возвращает любой заданный тип.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы