1! { dg-do compile }
2!
3! PR 55297: [4.8 Regression] [OOP] type-bound operator clashes with abstract interface
4!
5! Contributed by Damian Rouson <damian@rouson.net>
6
7module athlete_module
8  type athlete
9  contains
10    procedure :: negative
11    generic :: operator(-) => negative
12  end type
13  abstract interface
14    integer function sum_interface(this)
15      import athlete
16      class(athlete) this
17    end function
18  end interface
19contains
20  integer function negative(this)
21    class(athlete) ,intent(in) :: this
22  end function
23end module
24
25! { dg-final { cleanup-modules "athlete_module" } }
26