Many of times we dont require delegateCall for intercommunication between contracts.
even in proxy apart from using the delegatecall in fallback function which is also in assembly code.
It is also advisable to dont use the delegateCall inside a upgradeable contract as it is harmful.
My question is why solidity developers thought delegateCall is usefull feature?
Can we even say "Solidity fully supports delegateCall"? Since it looks totally sane on opcodes level, and quickly gets quite clumsy when we’re abstracting things to Solidity level. Is there real examples when developer doesn’t need to use assembly code block?
+mudgen, thanks for your text! Really liked how you finished with “Systems that Use Delegatecall”. Would also happy to see there some projects in the wild employed Diamonds EIP that you’re proposing.