learnbyexample@programming.dev to Linux@lemmy.mlEnglish · 2 days ago$HOME, Not So Sweet $HOMEgist.github.comexternal-linkmessage-square23fedilinkarrow-up184arrow-down15
arrow-up179arrow-down1external-link$HOME, Not So Sweet $HOMEgist.github.comlearnbyexample@programming.dev to Linux@lemmy.mlEnglish · 2 days agomessage-square23fedilink
minus-squareqaz@lemmy.worldlinkfedilinkEnglisharrow-up1·2 days agoI never understood why they added that
minus-squarebrisk@aussie.zonelinkfedilinkarrow-up5·2 days agoAmong other things it lets you define the return type in terms of the arguments to the function.
minus-square_____@lemm.eelinkfedilinkEnglisharrow-up4·2 days agobecause explicitly declaring types can be redundant, if the compiler knows a lot of the times you should also know also because some types are extremely cursed: see std views/ranges
minus-squareFeyd@programming.devlinkfedilinkarrow-up2·2 days agoThey’re useful for templates because the trailing version is resolved later
I never understood why they added that
Among other things it lets you define the return type in terms of the arguments to the function.
because explicitly declaring types can be redundant, if the compiler knows a lot of the times you should also know
also because some types are extremely cursed: see std views/ranges
They’re useful for templates because the trailing version is resolved later