I was just wondering how does the compiler treat associate block when the associate-name "points" to a function results as in:
associate( Var1 => This%Fun1(a,b) ) Var2 = This%Fun2(c,d,Var1) end associate
My 2 questions are
- Does the compiler treats this by simply replacing the associated name (here "Var1") by the selector (here "This%Fun1(a,b)") inside the associated block ? If so, can associate blocks be seen as a sort of inlining for variable instead of procedures.
- Does associate blocks really have no effect on performance ?