|
|
|
|
|
by kaba0
1922 days ago
|
|
Because while in the end project valhalla will not call them value classes, it is a sort of an overloaded term. Structs/value types can be mutable, records are not. They are basically tuples with names. And as far as I know, while records have a sane default equals defined, they are still identity objects in that they are passed by reference. |
|
Fair point about record fields not being reassignable (not the same as immutable for others reading this).
> And as far as I know, while records have a sane default equals defined, they are still identity objects in that they are passed by reference.
Well, sure. All non-primitives are passed by reference. That doesn't stop them from being referred to as value types.
But in light of your first point, I agree that choosing a totally new term probably makes sense.