I thought I was improving my code by adding ::type to all the _self in my OOP code. As this is one main advantage in programming in Maple, which is being able to attach types to all name and variables. Make code more robust.
But it turned out Maple is not very happy now and gives that drearded error
Error, static procedure ... refers to non-static local or export ... in surrounding scope
Only place I found that adding ::type_name is to _self is allowed, is on the constructor signature.
But in no other method of the object module. local or export method, it does not matter.
My question is, why is that?
So I went and removed all those _self::type_name and made it just _self to make Maple happy.
I also noticed this happes regardless of having kernelopts('assertlevel'=2): there or not. Attached is the worksheet.
Just tryting to understand the logic, that is all.
This is using Maple 2023.2.1