module  obj
  implicit none
  type :: newtype
    integer :: a,b
  end type newtype

contains
  subroutine sub1()
    implicit none

    write(*,*) "We are in sub1 now."

    return
  end subroutine sub1

  subroutine sub2()
    implicit none

    write(*,*) "We are in sub2 now."

    return
  end subroutine sub2
end module obj

program  ex1105
  use obj, only: a=>sub1,b=>sub2
  implicit  none

  call a()
  call b()

  stop
end program ex1105