#![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) {}