As in my mind, type bound procedure with NOPASS attribute, the method is a static method, and can be referred to using the name of the class prototype. Otherwise, with PASS attribute the method is an instance method, and is referred to using the name of the particular instance of the class.
In intel fortran, it seems not support the using of class prototype to invoke nopass procedure. We must define or allocate a instance to call PASS or NOPASS procedures.
Before an allocatable derived type variable is allocated, its nopass procedure can be called correctly if no runtime check of null pointer and allocatable array references. Is it a advisable way to do that kind of things?