Edge Case: Modifier formatting in constructors
mainPrettier Solidity cannot always distinguish between a modifier and a base constructor. Consequently, modifiers with no arguments are formatted with their parentheses removed in standard functions, but not in constructors.
Example behavior:
contract Foo is Bar {
// Parentheses are KEPT in constructors
constructor() Bar() modifier1 modifier2() modifier3(42) {}
// Parentheses are REMOVED in functions
function f() modifier1 modifier2 modifier3(42) {}
}