it is now forbidden to have an unmarked unconstrained fn directly in a contract block: the #[aztec] macro will complain about this and require for the function to be tagged as one of the contract function kinds (#[private], #[public] or #[utility])
we've updated the docs that mention this concept (AztecProtocol/aztec-packages#13310), though i still found some amount of confusion there regarding the difference between utility and unconstrained functions. I did not go all out covering these since i'm not up to date with the overall strategy of the docs when it comes to how concepts are introduced, where and when it is we expand over them, etc.
https://aztecprotocol.slack.com/archives/C03P17YHVK8/p1743783282167839
it is now forbidden to have an unmarked unconstrained fn directly in a contract block: the #[aztec] macro will complain about this and require for the function to be tagged as one of the contract function kinds (#[private], #[public] or #[utility])
we've updated the docs that mention this concept (AztecProtocol/aztec-packages#13310), though i still found some amount of confusion there regarding the difference between utility and unconstrained functions. I did not go all out covering these since i'm not up to date with the overall strategy of the docs when it comes to how concepts are introduced, where and when it is we expand over them, etc.
https://aztecprotocol.slack.com/archives/C03P17YHVK8/p1743783282167839