http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46897
--- Comment #1 from janus at gcc dot gnu.org 2010-12-12 22:15:30 UTC --- Here is a slightly reduced test case: module m implicit none type component contains procedure :: assign generic :: assignment(=)=>assign end type type t type(component) :: foo end type contains subroutine assign(lhs,rhs) class(component), intent(out) :: lhs class(component), intent(in) :: rhs print *,'defined assignment called' end subroutine end module program main use m implicit none type(t) :: infant, newchild infant = newchild end