The following program does not compile with ifort 13.0.1 20121010 due to internal compiler error:
module nest_cons
type :: a
end type a
type :: b
end type b
interface a
module procedure :: a_new
end interface a
interface b
module procedure :: b_new
end interface b
contains
function a_new()
type(a), pointer :: a_new
allocate(a_new)
print *, "a_new()"
end function a_new
function b_new(a_old)
class(a), target :: a_old
type(b), pointer :: b_new
allocate(b_new)
print *, "b_new()"
end function b_new
end module nest_cons
program nest_cons_prog
use nest_cons
class(b), pointer :: bb
bb => b(a())
end program nest_cons_prog
Best regards,
Paweł Biernat.



