subroutine set_usersub(proc) procedure(usersub_interface) :: proc usersub => proc end subroutine set_usersub