fun self.x() { ##ERROR: syntax error - invalid function name 'self.x' for 'fun' }; --- fun if() { ##ERROR: syntax error - invalid function name 'if' for 'fun' }; --- fun a if() { ##ERROR: syntax error - 'a' not followed by ( but followed by 'if' }; --- fun a:b if() { ##ERROR: syntax error - 'b' not followed by ( but followed by 'if' }; --- fun x (x :: 20) { ##ERROR: syntax error - invalid return variable '20' for 'fun' } --- fun x (x :: if) { ##ERROR: syntax error - invalid return variable 'if' for 'fun' } --- fun x (x :: self.y) { ##ERROR: syntax error - invalid return variable 'self.y' for 'fun' } --- fun x (x :: z z) { ##ERROR: syntax error - duplicate return variable name 'z' for 'fun' } --- fun x (x 20) { ##ERROR: syntax error - invalid argument name '20' for 'fun' } --- fun x (+) { ##ERROR: syntax error - invalid argument name '+' for 'fun' } --- fun x (a while) { ##ERROR: syntax error - invalid argument name 'while' for 'fun' } --- fun x (a b a) { ##ERROR: syntax error - duplicate argument name 'a' for 'fun' } --- fun x (... a) { ##ERROR: syntax error - unexpected token 'a' after '...' for 'fun' } --- fun x (... : a) { ##ERROR: syntax error - : disallowed } --- fun :: fun1() { ##ERROR: syntax error - invalid function name '::' for 'fun' return 10; }; --- fun fun fun1() { ##ERROR: syntax error - invalid function name 'fun' for 'fun' return 10; }; --- fun(#ci) fun1() { ##ERROR: syntax error - attribute list prohibited on plain function 'fun1' } --- fun() () { ##ERROR: syntax error - attribute list prohibited on unnamed function for 'fun' } --- fun() X:y() { ##ERROR: syntax error - empty attribute list on 'X:y' for 'fun' } --- class X { fun() y() { ##ERROR: syntax error - empty attribute list on 'y' for 'fun' } }