Re: [PHP-DEV] Generics

Holly Schilling <[email protected]> Tue, 4 Aug 2026 15:32:31 +0000
Newsgroups gmane.comp.php.devel
Message-ID <LV0PR20MB9945484C66105B606311133879B2D42@LV0PR20MB994548.namprd20.prod.outlook.com>
--_000_LV0PR20MB9945484C66105B606311133879B2D42LV0PR20MB994548_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGF2ZSB5b3UgaGVhcmQgdGhlIGdvb2Qgd29yZCBvZiBNb25vbW9ycGhpemVkIEdlbmVyaWNzPyBQ
ZXJmb3JtYW5jZSBtYXRjaGVzIHN0YW5kYXJkIHR5cGVkIGNvZGUuDQoNCkluIGdlbmVyYWwsIGFs
bCB0YWxrIGFib3V0IGdlbmVyaWNzIGlzIGhlbGQgdW50aWwgU2VwdGVtYmVyIG9yIE9jdG9iZXIg
dG8gbm90IGRpc3RyYWN0IG9yIGJ1cnkgaW1wb3J0YW50IDguNiByZWxlYXNlIGRpc2N1c3Npb25z
LiBGZWVsIGZyZWUgdG8gbWVzc2FnZSBtZSBkaXJlY3RseSBpZiB5b3XigJlkIGxpa2UgdG8gdGFs
ayBhYm91dCB0aGVtLg0KDQpIb2xseQ0KDQpPbiBBdWcgNCwgMjAyNiwgYXQgODozMOKAr0FNLCBI
ZW5yaWsgU2tvdiA8aGVucnkud29vZC5ka0BnbWFpbC5jb20+IHdyb3RlOg0KDQrvu78NCg0KSGkg
bGlzdCAhDQoNCkFzIHNvbWVvbmUgd2hvIHdhbnRzIGdlbmVyaWNzIGluIFBIUCwgcGxlYXNlIG1h
a2UgdGhlIGdlbmVyaWNzIG9wdC1pbiAodmlhIElOSSBzZXR0aW5nIG9yIGRlY2xhcmUoKSkgLSBQ
SFAgaXMgc2xvdyBlbm91Z2ggYXMgaXQgc3RhbmRzIG5vdyAtIGFuZCBhZGRpbmcgcmVpZmllZCBn
ZW5lcmljcyB3aWxsIGp1c3QgbWFrZSBpdCBldmVuIHNsb3dlci4NCg0KSSB3YXMgdmVyeSBzYWQg
dG8gc2VlIHRoYXQgdGhlIG9ubHkgZmVhc2FibGUga2luZCBvZiBnZW5lcmljcyAodHlwZSBlcmFz
ZWQpIGluIFBIUCBoYWQgaXRzIFJGQyBkZWNsaW5lZC4NCg0KQnkgbWFraW5nIHRoZSByZWlmaWVk
IGdlbmVyaWNzIG9wdC1pbiwgZXh0ZW5zaW9uIGF1dGhvcnMgbWF5IHN0aWxsIGltcGxlbWVudCB0
eXBlIGVyYXNlZCBnZW5lcmljcyBhbmQgdGh1cyBhdm9pZCB0aGUgcGVyZm9ybWFuY2UgcGVuYWx0
eSAtIGFsdG91Z2ggYXMgZXh0ZW5zaW9uIGNhbm5vdCBjaGFuZ2UgUEhQIHBhcnNpbmcgLSB0aGVp
ciB3b3VsZCByZWx5IG9uIHR3byBzbWFsbCBjaGFuZ2VzIHRvIFBIUCBpdHNlbGYgKHBsZWFzZSBz
ZWUgYmVsb3cpDQoNCkltYWdpbmUgdHdvIHdheXMgZm9yd2FyZCAodG8gdHlwZS1lcmFzZWQgZ2Vu
ZXJpY3MpOg0KDQoxLiBCeSB3cmFwcGluZyBnZW5lcmljICJleHByZXNzaW9ucyIgaW4gY29tbWVu
dHMgaWUuOiAkeCA9IG5ldyBDb2xsZWN0aW9uLyo8aW50PiovKCk7DQogICAgIGFsbCBJREVzIHdv
dWxkIGhhdmUgbm8gcHJvYmxlbXMgd2l0aCBnZW5lcmljcyAtIFRoZSBjb21tdW5pdHkgbWlnaHQg
ZXZlbiBtYWtlIHBsdWdpbnMgZm9yIGFsbCBwb3B1bGFyIElERXMgdGhhdCBjaGVjayBzdWNoIGdl
bmVyaWMgZXhwcmVzc2lvbiBhZ2FpbnN0IHRoZSBjb2RlYmFzZSBmcm9tIGluc2lkZSB0aGUgSURF
ICh0aGUgcGxhY2Ugd2hlcmUgaXQgYWN0dWFsbHkgbWF0dGVycykgLSBJIGRpZCBvbmUgYXMgYW4g
ZXhwaWVyaW1lbnQgYSB3aGlsZSBiYWNrIGZvciBWU0NvZGUgbXlzZWxmDQoNCjIuIFdlIG1pZ2h0
IG9mIGNvdXJzZSBhbHNvIGltYWdpbmUgdGhlIHNsaWdodHkgbW9yZSB0cm91Ymxlc29tZSBwYXRo
IGZvcndhcmQ6DQogICAgVHdvIG5ldyB0b2tlbnMgd2VyZSBhZGRlZCB0byBQSFA6DQoNCnw8IChp
bnRlcnByZXRlZCBhcyAvKikNCmFuZA0KPnwgKGludGVycHJldGVkIGFzICovKQ0KDQpUaGlzIG9w
dGlvbiB3b3VsZCBvZiBjb3Vyc2UgbmVlZCBJREUgcGx1Z2lucyB0byBiZSB1cGRhdGVkIHRvIHVu
ZGVyc3RhbmQgdGhlIG5ldyBzeW50YXgNCg0KUmVnYXJkbGVzcyBvZiBnb2luZyB3aXRoIDEgb3Ig
MiwgYXQgY29tcGlsZSB0aW1lLCBhbGwgUEhQIHdvdWxkIGhhdmUgdG8gZG8gd2FzIHRvIHN1YnN0
aXR1dGUgZ2VuZXJpYyBmdW5jdGlvbi9tZXRob2QgcGFyYW1ldGVycyAoc3VjaCBhcyBULCBLIG9y
IFYpIHdpdGggbWl4ZWQNCmllIChpbiBhIGNsYXNzIENvbGxlY3Rpb24vKjxUPiovIDoNCi4NCnB1
YmxpYyBmdW5jdGlvbiBhZGQoVCAkaXRlbSkgOiBUIHsNCg0KfQ0KDQpUIHdvdWxkIGJlIHJlcGxh
Y2VkIGJ5IG1peGVkIC0gUEhQIHdvdWxkIGhhdmUgdG8gaGF2ZSBhIGtub3duIGxpc3Qgb2Ygc3Vj
aCBnZW5lcmljIHR5cGUgcGFyYW1ldGVyIG5hbWVzIChULCBLLCBWIC0gYnV0IGl0IG1pZ2h0IGJl
IGNvbmZpZ3VyYWJsZSBhcyBhbiBJTkkgc2V0dGluZykNCg0KQSBkZWNsYXJlKCkgYXQgdGhlIHRv
cCBvZiBhIGZpbGUgY291bGQgaGludCB0aGUgY29tcGlsZXIgaWYgdGhpcyBmaWxlIG5lZWRzIHRo
ZSByZXBsYWNlIC8gaWYgaXQgdXNlcyBnZW5lcmljcw0KDQpUaGlzIGFwcHJvYWNoIHdvdWxkIHRo
ZW4gbGVhdmUgdGhlIGFjdHVhbCBjaGVja2luZyBvZiB0aGUgdmFsaWRpdHkgb2YgYW55IGdlbmVy
aWMgZXhwcmVzc2lvbnMvY29kZSB0byBhbiBleHRlbnNpb24gKHdyaXR0ZW4gaW4gQykgZm9yIGlu
c3RhbmNlIHZpYSBhIG1ldGhvZCBzdWNoICBhczoNCg0KLyoge3t7IHByb3RvIGludCBteWV4dGVu
c2lvbl9jaGVja19nZW5lcmljcyhzdHJpbmcgJGRpcikNCiAgICBWZXJpZnkgdXNhZ2Ugb2YgZ2Vu
ZXJpY3MgaW4gJGRpciByZWN1cnNpdmVseSAqLw0KUEhQX0ZVTkNUSU9OKG15ZXh0ZW5zaW9uX2No
ZWNrX2dlbmVyaWNzKQ0Kew0KLi4uLg0KICAgICBSRVRVUk5fVFJVRQ0KfQ0KDQpUaGlzIGV4dGVu
c2lvbiBmdW5jdGlvbiB3b3VsZCBiYXNpY2FsbHkgZG8gd2hhdCBQc2FsbSBldGMuIGRvIHRvZGF5
IC0ganVzdCBpbiBDIGZvciBtdWNoIGJldHRlciBwZXJmb3JtYW5jZQ0KDQpJIGFtIHdlbGwgYXdh
cmUgdGhhdCB0aGUgaW50ZXJuYWxzIGxpc3QgaXMgc2V0IG9uIHJlaWZpZWQgZ2VuZXJpY3MsIGJ1
dCBJIHN0aWxsIHRoaW5rIHRoYXQgdGhhdCB3b3VsZCBiZSBhbm90aGVyIHdyb25nIHR1cm4gYnkg
UEhQIChqdXN0IGxpa2UgdGhlIHBpcGUgb3BlcmF0b3IgYW5kIG1vcmUpDQoNCkkgZG8gYWdyZWUg
dGhhdCB0aGUgd3JhcHBpbmcgfDwgYW5kID58IGFwcGVhcnMgdWdseSBidXQganVzdCB3YW50ZWQg
c29tZXRoaW5nIHRoYXQgcmVxdWlyZWQgYXMgZmV3IGNoYW5nZXMgYXMgcG9zc2libGUuDQoNCkp1
c3QgbXkgNSBjZW50cy4uLg0KDQoNCi9IZW5yaWsNCg0KDQoNCg0KLS0NCg0KDQoNCk1lZCB2ZW5s
aWcgaGlsc2VuDQoNCkhlbnJpayBTa292DQpIU0sgQ29uc3VsdGluZw0KQmxlZ2RhbXN2ZWogMTI4
QiwgNA0KREstMjEwMCBDb3BlbmhhZ2VuIE8NClRlbC46ICs0NSAyNyA2MiA4MyAwMQ0KRW1haWw6
IGhlbnJ5Lndvb2QuZGtAZ21haWwuY29tPG1haWx0bzpoZW5yeS53b29kLmRrQGdtYWlsLmNvbT4N
Cg==

--_000_LV0PR20MB9945484C66105B606311133879B2D42LV0PR20MB994548_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgY2xhc3M9ImFwcGxlLW1haWwtc3VwcG9ydHMtZXhwbGljaXQtZGFyay1tb2RlIj4NCjxo
ZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9dXRmLTgiPg0KPC9oZWFkPg0KPGJvZHkgZGlyPSJhdXRvIj4NCkhhdmUgeW91IGhl
YXJkIHRoZSBnb29kIHdvcmQgb2YgTW9ub21vcnBoaXplZCBHZW5lcmljcz8gUGVyZm9ybWFuY2Ug
bWF0Y2hlcyBzdGFuZGFyZCB0eXBlZCBjb2RlLiZuYnNwOw0KPGRpdj48YnI+DQo8L2Rpdj4NCjxk
aXY+SW4gZ2VuZXJhbCwgYWxsIHRhbGsgYWJvdXQgZ2VuZXJpY3MgaXMgaGVsZCB1bnRpbCBTZXB0
ZW1iZXIgb3IgT2N0b2JlciB0byBub3QgZGlzdHJhY3Qgb3IgYnVyeSBpbXBvcnRhbnQgOC42IHJl
bGVhc2UgZGlzY3Vzc2lvbnMuIEZlZWwgZnJlZSB0byBtZXNzYWdlIG1lIGRpcmVjdGx5IGlmIHlv
deKAmWQgbGlrZSB0byB0YWxrIGFib3V0IHRoZW0uPGJyPg0KPGRpdj48YnIgaWQ9ImxpbmVCcmVh
a0F0QmVnaW5uaW5nT2ZTaWduYXR1cmUiPg0KPGRpdiBkaXI9Imx0ciI+SG9sbHk8L2Rpdj4NCjxk
aXYgZGlyPSJsdHIiPjxicj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPk9uIEF1ZyA0LCAyMDI2
LCBhdCA4OjMw4oCvQU0sIEhlbnJpayBTa292ICZsdDtoZW5yeS53b29kLmRrQGdtYWlsLmNvbSZn
dDsgd3JvdGU6PGJyPg0KPGJyPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8YmxvY2txdW90ZSB0
eXBlPSJjaXRlIj4NCjxkaXYgZGlyPSJsdHIiPu+7vw0KPHA+SGkgbGlzdCAhPGJyPg0KPGJyPg0K
QXMgc29tZW9uZSB3aG8gd2FudHMgZ2VuZXJpY3MgaW4gUEhQLCBwbGVhc2UgbWFrZSB0aGUgZ2Vu
ZXJpY3Mgb3B0LWluICh2aWEgSU5JIHNldHRpbmcgb3IgZGVjbGFyZSgpKSAtIFBIUCBpcyBzbG93
IGVub3VnaCBhcyBpdCBzdGFuZHMgbm93IC0gYW5kIGFkZGluZyByZWlmaWVkIGdlbmVyaWNzIHdp
bGwganVzdCBtYWtlIGl0IGV2ZW4gc2xvd2VyLjxicj4NCjxicj4NCkkgd2FzIHZlcnkgc2FkIHRv
IHNlZSB0aGF0IHRoZSBvbmx5IGZlYXNhYmxlIGtpbmQgb2YgZ2VuZXJpY3MgKHR5cGUgZXJhc2Vk
KSBpbiBQSFAgaGFkIGl0cyBSRkMgZGVjbGluZWQuPGJyPg0KPGJyPg0KQnkgbWFraW5nIHRoZSBy
ZWlmaWVkIGdlbmVyaWNzIG9wdC1pbiwgZXh0ZW5zaW9uIGF1dGhvcnMgbWF5IHN0aWxsIGltcGxl
bWVudCB0eXBlIGVyYXNlZCBnZW5lcmljcyBhbmQgdGh1cyBhdm9pZCB0aGUgcGVyZm9ybWFuY2Ug
cGVuYWx0eSAtIGFsdG91Z2ggYXMgZXh0ZW5zaW9uIGNhbm5vdCBjaGFuZ2UgUEhQIHBhcnNpbmcg
LSB0aGVpciB3b3VsZCByZWx5IG9uIHR3byBzbWFsbCBjaGFuZ2VzIHRvIFBIUCBpdHNlbGYgKHBs
ZWFzZSBzZWUgYmVsb3cpPGJyPg0KPGJyPg0KSW1hZ2luZSB0d28gd2F5cyBmb3J3YXJkICh0byB0
eXBlLWVyYXNlZCBnZW5lcmljcyk6PGJyPg0KPGJyPg0KMS4gQnkgd3JhcHBpbmcgZ2VuZXJpYyAm
cXVvdDtleHByZXNzaW9ucyZxdW90OyBpbiBjb21tZW50cyBpZS46ICR4ID0gbmV3IENvbGxlY3Rp
b24vKiZsdDtpbnQmZ3Q7Ki8oKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO2FsbCBJREVzIHdv
dWxkIGhhdmUgbm8gcHJvYmxlbXMgd2l0aCBnZW5lcmljcyAtIFRoZSBjb21tdW5pdHkgbWlnaHQg
ZXZlbiBtYWtlIHBsdWdpbnMgZm9yIGFsbCBwb3B1bGFyIElERXMgdGhhdCBjaGVjayBzdWNoIGdl
bmVyaWMgZXhwcmVzc2lvbiBhZ2FpbnN0IHRoZSBjb2RlYmFzZSBmcm9tIGluc2lkZSB0aGUgSURF
ICh0aGUgcGxhY2Ugd2hlcmUgaXQgYWN0dWFsbHkgbWF0dGVycykgLSBJIGRpZCBvbmUgYXMgYW4g
ZXhwaWVyaW1lbnQgYQ0KIHdoaWxlIGJhY2sgZm9yIFZTQ29kZSBteXNlbGY8L3A+DQo8cD4yLiBX
ZSBtaWdodCBvZiBjb3Vyc2UgYWxzbyBpbWFnaW5lIHRoZSBzbGlnaHR5IG1vcmUgdHJvdWJsZXNv
bWUgcGF0aCBmb3J3YXJkOjxicj4NCiZuYnNwOyAmbmJzcDsgVHdvIG5ldyB0b2tlbnMgd2VyZSBh
ZGRlZCB0byBQSFA6PC9wPg0KPHA+fCZsdDsgKGludGVycHJldGVkIGFzIC8qKTxicj4NCmFuZDxi
cj4NCiZndDt8IChpbnRlcnByZXRlZCBhcyAqLyk8YnI+DQo8YnI+DQpUaGlzIG9wdGlvbiB3b3Vs
ZCBvZiBjb3Vyc2UgbmVlZCBJREUgcGx1Z2lucyB0byBiZSB1cGRhdGVkIHRvIHVuZGVyc3RhbmQg
dGhlIG5ldyBzeW50YXgmbmJzcDs8YnI+DQo8YnI+DQpSZWdhcmRsZXNzIG9mIGdvaW5nIHdpdGgg
MSBvciAyLCBhdCBjb21waWxlIHRpbWUsIGFsbCBQSFAgd291bGQgaGF2ZSB0byBkbyB3YXMgdG8g
c3Vic3RpdHV0ZSBnZW5lcmljIGZ1bmN0aW9uL21ldGhvZCBwYXJhbWV0ZXJzIChzdWNoIGFzIFQs
IEsgb3IgVikgd2l0aCBtaXhlZDxicj4NCmllIChpbiBhIGNsYXNzIENvbGxlY3Rpb24vKiZsdDtU
Jmd0OyovIDo8YnI+DQouPGJyPg0KcHVibGljIGZ1bmN0aW9uIGFkZChUICRpdGVtKSA6IFQgezxi
cj4NCjxicj4NCn08YnI+DQo8YnI+DQpUIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IG1peGVkIC0gUEhQ
IHdvdWxkIGhhdmUgdG8gaGF2ZSBhIGtub3duIGxpc3Qgb2Ygc3VjaCBnZW5lcmljIHR5cGUgcGFy
YW1ldGVyIG5hbWVzIChULCBLLCBWIC0gYnV0IGl0IG1pZ2h0IGJlIGNvbmZpZ3VyYWJsZSBhcyBh
biBJTkkgc2V0dGluZyk8YnI+DQo8YnI+DQpBIGRlY2xhcmUoKSBhdCB0aGUgdG9wIG9mIGEgZmls
ZSBjb3VsZCBoaW50IHRoZSBjb21waWxlciBpZiB0aGlzIGZpbGUgbmVlZHMgdGhlIHJlcGxhY2Ug
LyBpZiBpdCB1c2VzIGdlbmVyaWNzPGJyPg0KPGJyPg0KVGhpcyBhcHByb2FjaCB3b3VsZCB0aGVu
IGxlYXZlIHRoZSBhY3R1YWwgY2hlY2tpbmcgb2YgdGhlIHZhbGlkaXR5IG9mIGFueSBnZW5lcmlj
IGV4cHJlc3Npb25zL2NvZGUgdG8gYW4gZXh0ZW5zaW9uICh3cml0dGVuIGluIEMpIGZvciBpbnN0
YW5jZSB2aWEgYSBtZXRob2Qgc3VjaCZuYnNwOyBhczo8L3A+DQo8cD4vKiB7e3sgcHJvdG8gaW50
IG15ZXh0ZW5zaW9uX2NoZWNrX2dlbmVyaWNzKHN0cmluZyAkZGlyKTxicj4NCiZuYnNwOyAmbmJz
cDsgVmVyaWZ5IHVzYWdlIG9mIGdlbmVyaWNzIGluICRkaXIgcmVjdXJzaXZlbHkgKi88YnI+DQpQ
SFBfRlVOQ1RJT04obXlleHRlbnNpb25fY2hlY2tfZ2VuZXJpY3MpPGJyPg0Kezxicj4NCi4uLi48
YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwO1JFVFVSTl9UUlVFPGJyPg0KfTxicj4NCjxicj4NClRo
aXMgZXh0ZW5zaW9uIGZ1bmN0aW9uIHdvdWxkIGJhc2ljYWxseSBkbyB3aGF0IFBzYWxtIGV0Yy4g
ZG8gdG9kYXkgLSBqdXN0IGluIEMgZm9yIG11Y2ggYmV0dGVyIHBlcmZvcm1hbmNlPGJyPg0KPGJy
Pg0KSSBhbSB3ZWxsIGF3YXJlIHRoYXQgdGhlIGludGVybmFscyBsaXN0IGlzIHNldCBvbiByZWlm
aWVkIGdlbmVyaWNzLCBidXQgSSBzdGlsbCB0aGluayB0aGF0IHRoYXQgd291bGQgYmUgYW5vdGhl
ciB3cm9uZyB0dXJuIGJ5IFBIUCAoanVzdCBsaWtlIHRoZSBwaXBlIG9wZXJhdG9yIGFuZCBtb3Jl
KTxicj4NCjxicj4NCkkgZG8gYWdyZWUgdGhhdCB0aGUgd3JhcHBpbmcgfCZsdDsgYW5kICZndDt8
IGFwcGVhcnMgdWdseSBidXQganVzdCB3YW50ZWQgc29tZXRoaW5nIHRoYXQgcmVxdWlyZWQgYXMg
ZmV3IGNoYW5nZXMgYXMgcG9zc2libGUuPGJyPg0KPGJyPg0KSnVzdCBteSA1IGNlbnRzLi4uPGJy
Pg0KPGJyPg0KPGJyPg0KL0hlbnJpazxicj4NCjxicj4NCjxicj4NCjxicj4NCjwvcD4NCjxkaXYg
Y2xhc3M9Im1vei1zaWduYXR1cmUiPi0tIDxicj4NCjxicj4NCjxicj4NCjxicj4NCk1lZCB2ZW5s
aWcgaGlsc2VuPGJyPg0KPGJyPg0KSGVucmlrIFNrb3Y8YnI+DQo8aT5IU0sgQ29uc3VsdGluZzwv
aT48YnI+DQpCbGVnZGFtc3ZlaiAxMjhCLCA0PGJyPg0KREstMjEwMCBDb3BlbmhhZ2VuIE88YnI+
DQpUZWwuOiArNDUgMjcgNjIgODMgMDE8YnI+DQpFbWFpbDogPGEgY2xhc3M9Im1vei10eHQtbGlu
ay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmhlbnJ5Lndvb2QuZGtAZ21haWwuY29tIj4NCmhl
bnJ5Lndvb2QuZGtAZ21haWwuY29tPC9hPjxicj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVv
dGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_LV0PR20MB9945484C66105B606311133879B2D42LV0PR20MB994548_--