#![feature(never_type)] pub struct First(T); pub struct Second(T); pub struct Third(T); pub fn fn_ptr(_: fn(First) -> !, _: bool) {} pub fn fn_once(_: impl FnOnce(Second) -> !, _: u8) {} pub fn fn_mut(_: impl FnMut(Third) -> !, _: i8) {} pub fn fn_(_: impl Fn(u32) -> !, _: char) {} pub fn multiple(_: impl Fn(&'static str, &'static str) -> i8) {}