Currently, if an aliased function is declared in interface.ccl with
PROVIDES FUNCTION fun WITH fun LANGUAGE C
Cactus goes into an infinite loop when calling that function. It does so because it creates a function 'fun' (the first) itself, which then calls (fun) the second.
Instead, Cactus should already produce an error for above declaration. The two 'fun' must be different for this to work, and Cactus should catch this.