Functions

Diverging functions

就是一个函数不返回任何值, 比如一个 loop 无限循环, 或者线程会到止退出的.

目前, 只能通过调用 panic!() 或者 unreachable!() 来实现:

impl Server {
  pub fn run(self) -> ! {
    loop {
      ...
    }
  }
}

作为返回值

#![allow(unused)]
fn main() {
fn create_fnmut() -> impl FnMut() {
  return move || println!("Hello FnMut()!");
}

let mut f = create_fnmut();
f();
}