Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95997 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 39074 invoked from network); 14 Sep 2016 17:26:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Sep 2016 17:26:27 -0000 Authentication-Results: pb1.pair.com header.from=mathieu@rochette.cc; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=mathieu@rochette.cc; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain rochette.cc designates 62.210.206.189 as permitted sender) X-PHP-List-Original-Sender: mathieu@rochette.cc X-Host-Fingerprint: 62.210.206.189 texthtml.net Received: from [62.210.206.189] ([62.210.206.189:52653] helo=texthtml.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 75/37-21040-04889D75 for ; Wed, 14 Sep 2016 13:26:26 -0400 Received: by texthtml.net (Postfix, from userid 65534) id C6F1425D; Wed, 14 Sep 2016 17:26:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on a05d8528c5e6 X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,MISSING_MID autolearn=no autolearn_force=no version=3.4.1 Received: from [100.91.112.147] (stunnel_mail_1.mail_default [172.29.0.4]) (Authenticated sender: mathieu@texthtml.net) by texthtml.net (Postfix) with ESMTPA id 14ADF259; Wed, 14 Sep 2016 17:25:50 +0000 (UTC) Date: Wed, 14 Sep 2016 19:25:49 +0200 To: Fleshgrinder , Mathieu Rochette , internals@lists.php.net MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Message-ID: <20160914172621.C6F1425D@texthtml.net> Subject: Re: [PHP-DEV] RFC - Immutable classes From: mathieu@rochette.cc (Mathieu Rochette) CgpTZW50IGZyb20gbXkgQWxjYXRlbCBPbmV0b3VjaCBJZG9sIDMgKDQuNykgCk9uIFNlcCAxNCwg MjAxNiA3OjA4IFBNLCBGbGVzaGdyaW5kZXIgPHBocEBmbGVzaGdyaW5kZXIuY29tPiB3cm90ZTog Cj4gCj4gT24gOS8xMy8yMDE2IDExOjM4IFBNLCBNYXRoaWV1IFJvY2hldHRlIHdyb3RlOiAKPiA+ IEkgYWdyZWUgdGhhdCBibG9ja2luZyBjbG9uZSBzZWVtcyB1bm5lY2Vzc2FyeS4gSSBhbHNvIGRv bid0IHNlZSB3aHkgaXQgCj4gPiBpcyB1c2VmdWwgdG8gaGF2ZSAiY2xvbmUiIG1ldGhvZHMuIFdo eSBub3QgbGV0ICJjbG9uZSAkdGhpcyIgcHJvZHVjZSBhIAo+ID4gY29weSB0aGF0IGlzIG9wZW4g dG8gbW9kaWZpY2F0aW9uIHdpdGhpbiB0aGUgc2NvcGUgaXQncyBjbG9uZWQgaW4gPyBvciwgCj4g PiB3aHkgd291bGQgeW91IGxpbWl0IHlvdXJzZWxmIHRvIG9uZSBjbG9uZSBwZXIgbWV0aG9kIGNh bGwgPyBtYXliZSB0aGVyZSAKPiA+IGlzIHNvbWV0aGluZyBJJ20gbWlzc2luZyBidXQgSSBkb24n dCBnZXQgd2h5IGludHJvZHVjaW5nIGEgbmV3IG1ldGhvZCAKPiA+IGFubm90YXRpb24gaXMgdXNl ZnVsLiBpdCBsb29rcyBsaWtlIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbHMgKHVzaW5nIAo+ID4g Y2xvbmUgaW5zdGVhZCBvZiBuZXcpIG9mIHRoZSBtZXRob2QgaXMgbGVha2luZyAKPiA+IAo+ID4g Y2xhc3MgTmF0dXJhbCB7IAo+ID7CoCBwcml2YXRlICRuOyAKPiA+wqAgcHVibGljIGZ1bmN0aW9u IF9fY29uc3RydWN0KGludCAkbikge2Fzc2VydCgkbiA+PSAwKTsgJHRoaXMtPm4gPSAkbjt9IAo+ ID7CoCBwdWJsaWMgZnVuY3Rpb24gbmV4dFRlbigpIHsgCj4gPsKgwqAgZm9yICgkaSA9IDAsICRj ID0gJHRoaXM7ICRpIDwgMTA7ICRpKyssICRjID0gY2xvbmUgJGM7KSB7IAo+ID7CoMKgwqAgJGMt Pm4rKzsgCj4gPsKgwqDCoCB5aWVsZCAkYzsgCj4gPsKgwqAgfSAKPiA+wqAgfSAKPiA+IH0gCj4g Cj4gV2h5IHdvdWxkIHlvdSB3YW50IHRvIGNsb25lIGhlcmU/IAo+IAo+IMKgwqDCoCBmaW5hbCBp bW11dGFibGUgY2xhc3MgTmF0dXJhbE51bWJlciB7IAo+IAo+IMKgwqDCoMKgwqAgcHJpdmF0ZSAk bjsgCj4gCj4gwqDCoMKgwqDCoCBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoaW50ICRuKSB7 IAo+IMKgwqDCoMKgwqDCoMKgIGFzc2VydCgkbiA+PSAwKTsgCj4gwqDCoMKgwqDCoMKgwqAgJHRo aXMtPm4gPSAkbjsgCj4gwqDCoMKgwqDCoCB9IAo+IAo+IMKgwqDCoMKgwqAgcHVibGljIGZ1bmN0 aW9uIG5leHRUZW4oJG4pIHsgCj4gwqDCoMKgwqDCoMKgwqAgZm9yICgkaSA9ICR0aGlzLT5uOyAk aSA8IDEwOyArKyRpKSB7IAo+IMKgwqDCoMKgwqDCoMKgwqDCoCB5aWVsZCBuZXcgc3RhdGljKCRp KTsgCj4gwqDCoMKgwqDCoMKgwqAgfSAKPiDCoMKgwqDCoMKgIH0gCj4gCj4gwqDCoMKgIH0gCj4g Cj4gVGhhdCBiZWluZyBzYWlkLCB0aGUgd2hvbGUgZXhhbXBsZSBpcyBraW5kIG9mIHdlaXJkLiBX aGF0IGtpbmQgb2YgCj4gZnVuY3Rpb25hbGl0eSBpcyB0aGF0PyBXaHkgaXMgYSB2YWx1ZSBvYmpl Y3QgY3JlYXRpbmcgbXVsdGlwbGUgaW5zdGFuY2VzIAo+IGZvciBpdHNlbGY/IFNpbmdsZSByZXNw b25zaWJpbGl0eSBzZWVtcyB0byBiZSBicm9rZW4gYmVjYXVzZSBzb21lIGtpbmQgCj4gb2YgY29s bGVjdGlvbiBzaG91bGQgdGFrZSBjYXJlIG9mIHRoYXQgYW55d2F5cy4gCgp5ZWFoIHRoZSBleGFt cGxlIGlzIG5vdCB0aGF0IGdyZWF0LCBJJ2xsIHVzdWFsbHkgd2FudCB0byBjbG9uZSB0byBhdm9p ZCBjYWxsaW5nIGEgY29uc3RydWN0b3Igd2l0aCB0byBtYW55IHBhcmFtZXRlcnMgKG9yIGEgY29u c3RydWN0b3IgZG9pbmcgdG9vIG1hbnkgdGhpbmdzIG5vdCBuZWVkZWQgaGVyZSkgCgo+IAo+IMKg wqDCoCBmaW5hbCBpbW11dGFibGUgY2xhc3MgTmF0dXJhbE51bWJlciB7IAo+IAo+IMKgwqDCoMKg wqAgcHJpdmF0ZSAkbjsgCj4gCj4gwqDCoMKgwqDCoCBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1 Y3QoaW50ICRuKSB7LyouLi4qL30gCj4gCj4gwqDCoMKgwqDCoCBwdWJsaWMgY2xvbmUgZnVuY3Rp b24gYWRkKGludCAkbikgeyAKPiDCoMKgwqDCoMKgwqDCoCAkdGhpcy0+biArPSAkbjsgCj4gCj4g wqDCoMKgwqDCoMKgwqAgcmV0dXJuICR0aGlzOyAKPiDCoMKgwqDCoMKgIH0gCj4gCj4gwqDCoMKg IH0gCj4gCj4gwqDCoMKgIGZpbmFsIGNsYXNzIE5hdHVyYWxOdW1iZXJDb2xsZWN0aW9uIHsgCj4g Cj4gwqDCoMKgwqDCoCBwdWJsaWMgZnVuY3Rpb24gbmV4dFRlbihOYXR1cmFsTnVtYmVyICRzdGFy dCkgeyAKPiDCoMKgwqDCoMKgwqDCoCAvLyBUaGlzIGNhc3QgZG9lcyBub3Qgd29yayAoeWV0KSAu Li4gCj4gwqDCoMKgwqDCoMKgwqAgZm9yICgkaSA9IChpbnQpICRzdGFydDsgJGkgPCAxMDsgKysk aSkgeyAKPiDCoMKgwqDCoMKgwqDCoMKgwqAgeWllbGQgJHN0YXJ0LT5hZGQoJGkpOyAKPiDCoMKg wqDCoMKgwqDCoCB9IAo+IMKgwqDCoMKgwqAgfSAKPiAKPiDCoMKgwqAgfSAKPiAKPiBTYW1lIHJl c3VsdCBidXQgd2UganVzdCBzZXBhcmF0ZWQgdGhpbmdzIG5pY2VseS4gSSB0aGluayB0aGUgY2xv bmUgCj4gbW9kaWZpZXIgd291bGQgaGVscCB0byBjcmVhdGUgYmV0dGVyIGNvZGUgYW5kIGtlZXAg aXQgZWFzeSB0byB1bmRlcnN0YW5kLiAKPiAKPiBPbiA5LzEzLzIwMTYgMTE6MzggUE0sIE1hdGhp ZXUgUm9jaGV0dGUgd3JvdGU6IAo+ID4gYWdhaW4sIHdoeSBtYXJrIG1ldGhvZCBhcyBjbG9uZSBt ZXRob2QgaW4gYW4gaW50ZXJmYWNlLCBpZiB0aGUgaW50ZXJmYWNlIAo+ID4gaXMgYWxyZWFkeSBt YXJrZWQgYXMgaW1tdXRhYmxlIGlzbid0IGl0IGVub3VnaCB0byBzcGVjaWZ5IHRoZSByZXR1cm4g Cj4gPiB0eXBlICJzdGF0aWMiID8gCj4gCj4gQmVjYXVzZSBpdCBpcyB1bmNsZWFyIGlmIHlvdSB3 YW50IHRvIG11dGF0ZSBpbiB0aGlzIGNvbnRleHQgb3IgcmV0dXJuIGEgCj4gbmV3IGluc3RhbmNl IGFsdG9nZXRoZXIuIAoKd2hhdCdzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBmb3Ig YW4gaW1tdXRhYmxlIGNsYXNzPyAKCj4gCj4gLS0gCj4gUmljaGFyZCAiRmxlc2hncmluZGVyIiBG dXNzZW5lZ2dlciAKPiAK