9 type, extends(t0) :: t1
14 class(t0), allocatable :: foo
20 allocate(m(n)%foo, source = t0(n*99))
23 allocate(m(n)%foo, source = t1(n*99, n*999))
26 ! An array of objects with ultimate class components cannot be a selector
27 ! since each element could have a different dynamic type. (F2003 C614)
29 select type(bar => m%foo) ! { dg-error "part reference with nonzero rank" }
31 if (any (bar%j .ne. [99, 198, 297, 396])) call abort