I am almost in disbelief that even something as simple as the following is not allowed
program main
use stdlib_string_type
implicit none
type(string_type) :: foo = string_type("foo")
type(string_type) :: bar = string_type("barr")
type(string_type) :: baz = string_type("bazzz")
type(string_type) :: quux = string_type("quuxxx")
type(string_type) :: corge = string_type("corgeee")
type(string_type) :: str_param_array(5) = [foo, bar, baz, quux, corge]
print *, str_param_array
end program main
Looks like that without an executable statement (that I cannot use in the declarative section of a module) I cannot create the array. Frustrating.