On Wednesday, 10 September 2025 at 14:01:29 UTC, Brother Bill wrote:
Page 119 of Programming in D

It seems odd that == null and is null have different values?
Is this a bug or feature?
If a feature, what is the meanings of == null vs. is null?

Feature. An AA has reference semantics. Removing all elements does not set it to `null` (the `.init` value), because it is already allocated, which may be useful for future operations.

Comparing for equality against null is true because both AA references have no elements (null is a valid AA reference).

Comparing for identity is false because `null` has no AA allocation whereas `dayNumbers` does - it isn't null.

https://dlang.org/spec/hash-map.html#construction_and_ref_semantic

Reply via email to