!RUN: %flang_fc1 -fsyntax-only %s 2>&1 | FileCheck %s --allow-empty !CHECK-NOT: error: module m type t contains procedure nonelemental generic :: operator(+) => nonelemental end type interface operator(+) procedure elemental end interface contains type(t) elemental function elemental (a, b) class(t), intent(in) :: a, b elemental = t() end type(t) function nonelemental (a, b) class(t), intent(in) :: a, b(:) nonelemental = t() end end program main use m type(t) x, y(1) x = x + y ! ok end