I believe that allocatable components are allowed, as per 4.5.2 and
4.5.4 of the draft standard. There is also a blurb about it on page 7
of John Reid's N1724.pdf paper on coarrays in F08.
Plus, I get an internal compiler error, not a syntax error, so clearly
there's a bug in g95, even if my code is invalid. I can make the code
above work by changing the declaration of the "x" component to be:
TYPE(Vec), ALLOCATABLE :: x(:)[:]
and allocating appropriately. It's just silly to allocate x(1)[*]
when you don't need to.