1! { dg-do compile }
2!
3! PR 46952: [OOP] Spurious "recursive call" error with type bound procedure
4!
5! Contributed by Ian Harvey <ian_harvey@bigpond.com>
6
7module m
8
9  type, abstract :: t
10  contains
11    procedure(inter), pass, deferred :: foo
12  end type
13
14contains
15
16  subroutine inter(this)
17    class(t) :: this
18    call this%foo()
19  end subroutine inter
20
21end module m
22
23! { dg-final { cleanup-modules "m" } }
24