Fortran-FOSS-Programmers / Fortran-FOSS-Programmers/ford

Derived type extension of an abstract derived type

Open
#504 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
458
Forks
138
PR merge metrics
No merged PRs in 30d

Description

I have a "concrete" derived type extension of an abstract derived type. The "after *contains* (module level)" part of the concrete procedure and its autodoc comments don't display in the FORD-generated doc; the abstract procedure does. Neither appear on the Procedures webpage.
FORD version: 6.2.4
---
### abstract_mod.F90
```
!> mod_abstract module
module mod_abstract

implicit none

! ---------------------------------------------------------------

!> Abstract derived type
type, abstract, public :: abstract_t

contains

procedure(output_int_abs), deferred :: output_int !! procedure in abstract derived type

end type abstract_t

! ------------------------

!> abstract interface
abstract interface

!> subroutine in abstract interface
subroutine output_int_abs(this, an_int)
import abstract_t
implicit none
class(abstract_t), intent(in) :: this
integer, intent(in) :: an_int !! dummy variable declaration in abstract interface
end subroutine output_int_abs

end interface

end module mod_abstract
```
---
### concrete_mod.F90
```
!> mod_concrete module
module mod_concrete

use mod_abstract, only : abstract_t

implicit none

!> concrete_t derived type
type, extends(abstract_t), public :: concrete_t

contains

!> procedure in concrete_t derived type
procedure output_int

end type concrete_t

contains

!> subroutine output_int in concrete_t
subroutine output_int(this, an_int)

implicit none

class(concrete_t), intent(in) :: this
integer, intent(in) :: an_int !! dummy variable declaration in concrete_t

write (*,*) "an_int = ", an_int

end subroutine output_int

end module mod_concrete
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.