Proposal: support assumed-size and assumed-length pointers, similar to the support in dummy arguments.
It makes just as much sense for a pointer as for a dummy argument. Currently, this can be emulated the same way that Fortran66 defined assumed-size arrays – simply use a size of 1 and intentionally ignore the bounds. The disadvantage of faking it is that it interferes with the compiler’s bounds-checking code, and prevents warnings in expressions where assumed-size is not valid.
This would be helpful with interfacing C, where string pointers are equivalent to assumed-length character pointers. String pointers in C are also a common source of problems. So, it is both an example of why this feature is useful, and why it should be used sparingly.
This is the equivalent of
'char*' in C:
character(kind=c_char,len=*), pointer :: string_ptr