84
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 09 May 2026
84 points (100.0% liked)
Programming
27072 readers
550 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 3 years ago
MODERATORS
The memory leaks section just feels like an introduction to smart pointers as though they're some complex concept. Also, the page is showing its age by mentioning the now-removed
auto_ptrinstead of something likeunique_ptr.Anyway, scrolling down a little more:
This actually comes up in C# with arrays. Copying their example here:
It may have been a design mistake not to make C#'s arrays invariant, though I don't know the state of that debate today.
Invariant?
Neither covariant nor contravariant.
supertype[] is not a supertype of subtype[] if supertype and subtype alone are in that relationship, because the mutability of arrays means that the Liskov substitution principle doesn't hold.
(These are all something you'll probably find good explanations of on Wikipedia.)
Thank you for your reply. Sadly I don't know terms like covariant or supertype either ๐ so I'll have to look into all that when/if it comes up. I write in GDScript for fun (a game engine's high-level scripting language said to have syntax similar to Python).