1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
module class_19_mod
implicit none
type :: toml_value
contains
procedure :: destroy
end type
type :: toml_node
class(toml_value), allocatable :: val
end type toml_node
contains
subroutine destroy(self, val)
class(toml_value), intent(inout) :: self
integer, intent(in) :: val
print *, "Destroying toml_value"
if (val /= 42) error stop
end subroutine
end module
program class_19
use class_19_mod
implicit none
type(toml_node) :: tmp
allocate(tmp%val)
call tmp%val%destroy(42)
end program class_19
|