(j3.2006) Parent component of extension of abstract type

Tom Clune Thomas.L.Clune
Thu Nov 12 17:01:27 EST 2015


I raised essentially the same issue a while back (2-3 years ago).   The short answer is ?Yes - this is what was intended.?

One argument is that if you could access such a parent, then you would be able to invoke methods on it.   E.g., what if there was a deferred method?   And if you don?t have any deferred methods, why does it need to be abstract?

But ? I agree that it would be nice if one could access the non-deferred items in an abstract parent.   In practice, I?ve found the situation where I miss the ability is extremely rare.

- Tom

> On Nov 12, 2015, at 4:32 PM, Van Snyder <Van.Snyder at jpl.nasa.gov> wrote:
> It seems a bit strange that I can't access the parent component of an
> object of a type that is an extension of an abstract type, but I can
> access components of the parent component.  Is this what we intended?
> program P
>  type, abstract :: T0
>    integer :: N = 42
>  end type T0
>  type, extends(t0) :: T1
>  end type T1
>  type(t1) :: V1, V2
>  print '(a,i0)', 'V1 ', v1
>  print '(a,i0)', 'V1%T0 ', v1%t0      ! Prohibited
>  print '(a,i0)', 'V1%T0%n ', v1%t0%n
>  v2 = v1
>  v2%t0 = v1%t0                        ! Prohibited
>  v2%t0%n = v1%t0%n
> end program P
> _______________________________________________
> J3 mailing list
> J3 at mailman.j3-fortran.org
> http://mailman.j3-fortran.org/mailman/listinfo/j3

Thomas Clune, Ph. D. 	<Thomas.L.Clune at nasa.gov>
Software Infrastructure Team Lead
Global Modeling and Assimilation Office, Code 610.1
MS 610.1 B33-C128
Greenbelt, MD 20771

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.j3-fortran.org/pipermail/j3/attachments/20151112/b0f1ae3a/attachment-0003.html 

More information about the J3 mailing list