[01:08:28] TIL that PHP considers two distinct objects as == loose equal if they are of the same class with the same properties, basically like php does for primitive/arrays. https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1007693/comment/82d93f29_1d07daa3/ [01:08:44] https://www.php.net/manual/en/language.operators.comparison.php [01:08:45] https://www.php.net/manual/en/language.oop5.object-comparison.php [01:08:45] https://3v4l.org/IbZUX [01:10:08] It's been a while I learned something not-new about PHP. [01:14:26] https://3v4l.org/3DuTm [01:18:46] been that way since PHP 4.3 at least https://3v4l.org/5vPf4 [09:16:35] tgr|away: FWIW, we do have mostly-declarative conditional registration of namespaces (the namespace, its optionalness, and all its settings are declared in extension.json, then the CanonicalNamespaces hook can either enable the namespace or not) [19:31:28] Krinkle: PHP treats objects as weird arrays in all kinds of fun ways. You can iterate their properties with foreach, you can cast them to array (with particularly horrible results for non-public fields), you can compare them as tuples with < / > [19:44:32] this sounds like a great basis for a "wat" talk [19:54:57] ^ PHP: