From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 47BFC1F54E for ; Thu, 8 Sep 2022 18:20:42 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sendgrid.me header.i=@sendgrid.me header.b="xkSMj03q"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 1A0521209EB; Fri, 9 Sep 2022 03:20:41 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id D8D4B120992 for ; Fri, 9 Sep 2022 03:20:35 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc; s=smtpapi; bh=A4J9t6yW7EKYO7xLYoluEej7uXjzcPEGhBmzKlsw+MA=; b=xkSMj03qnzyxwyUjVPMcg66qkIIMw5YGol3ohSTIsdnw40jH4goon3963Ys1SR9kJYDk Y5zl0oInZJmskPSpNQOowCrwHvnfl7gyNOgJ2ndV8pDK15WeKjEOCCS30Vergpssfaw+// AddtE23WONIuACWfgpYsdFQ0osIKaSnis= Received: by filterdrecv-54c4d84b8c-cjg48 with SMTP id filterdrecv-54c4d84b8c-cjg48-1-631A3272-1A 2022-09-08 18:20:34.32021012 +0000 UTC m=+1195770.185190808 Received: from herokuapp.com (unknown) by geopod-ismtpd-1-6 (SG) with ESMTP id G0W4_r-gTiqNsg0kbWNO8A for ; Thu, 08 Sep 2022 18:20:34.270 +0000 (UTC) Date: Thu, 08 Sep 2022 18:20:34 +0000 (UTC) From: "RubyBugs (A Nonymous)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 16122 X-Redmine-Issue-Author: zverok X-Redmine-Issue-Assignee: zverok X-Redmine-Sender: RubyBugs X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 86292 X-SG-EID: =?us-ascii?Q?XPy7lPp7xKaduQIevjl0sxdmuuF+Twk4fHDAmohZDXuzbHwW74IAVIadYOvDPD?= =?us-ascii?Q?Mlk6tI=2FXZp0mF=2FKYfJbl0ekJR9rjjhMbVE0Qwtn?= =?us-ascii?Q?GGc1=2FKbVt92tOy0kTgi2k6XfVMeI=2FWcKxfV5QPa?= =?us-ascii?Q?tlqM0JnjPnsjSnmJB+8+dHoQbLqJDZLhqlaA5XX?= =?us-ascii?Q?+b7SEQZxNQeTUwbgx1FFjx7Wz8E1xmqhx=2FItUXn?= =?us-ascii?Q?Uuylo89E5=2FD0XuDXymba9dAagAJrzkVu0qMu8wB?= =?us-ascii?Q?yRJigzqPTik4lfbZ22MLA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 109851 Subject: [ruby-core:109851] [Ruby master Feature#16122] Data: simple immutable value object X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE2MTIyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgUnVieUJ1Z3MgKEEgTm9ueW1vdXMpLgoK Cmswa3VidW4gKFRha2FzaGkgS29rdWJ1bikgd3JvdGUgaW4gI25vdGUtNjI6Cj4gQ2FuIHlvdSBw bGVhc2UgZmlsZSBhIHNlcGFyYXRlIHRpY2tldCB0byBkaXNjdXNzIGBEYXRhYCBleHRlbnNpb25z IHRoYXQgZG9uJ3QgZXhpc3QgaW4gU3RydWN0PyBUaGVyZSBjb3VsZCBiZSBzbyBtYW55IGBEYXRh YCBleHRlbnNpb24gaWRlYXMsIHN1Y2ggYXMgZGVmYXVsdCB2YWx1ZXMgbWVudGlvbmVkIGluICNu b3RlLTQ5LCBidXQgZGlzY3Vzc2luZyBhbGwgdGhhdCBpbiBhIHNpbmdsZSB0aWNrZXQgd291bGQg bWFrZSBpdCBoYXJkZXIgdG8gZm9sbG93IGFsbCBvZiBzdWNoIGRpc2N1c3Npb25zLgo+IAoKVGhh bmtzIEBrMGt1YnVuISBJJ3ZlIGZpbGVkIGZvbGxvdy11cCB0aWNrZXQgaGVyZSBmb3IgdGhlICJD b3B5IHdpdGggY2hhbmdlcyIgbWV0aG9kIGAjd2l0aGA6Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnL2lzc3Vlcy8xOTAwMAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KRmVhdHVyZSAjMTYxMjI6IERhdGE6IHNpbXBsZSBpbW11dGFibGUgdmFsdWUgb2JqZWN0Cmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNjEyMiNjaGFuZ2UtOTkwODcKCiogQXV0 aG9yOiB6dmVyb2sgKFZpY3RvciBTaGVwZWxldikKKiBTdGF0dXM6IEFzc2lnbmVkCiogUHJpb3Jp dHk6IE5vcm1hbAoqIEFzc2lnbmVlOiB6dmVyb2sgKFZpY3RvciBTaGVwZWxldikKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqKlZhbHVlIE9iamVjdCoqIGlzIGEgdXNl ZnVsIGNvbmNlcHQsIGludHJvZHVjZWQgYnkgTWFydGluIEZvd2xlciAoW2hpcyBwb3N0XShodHRw czovL21hcnRpbmZvd2xlci5jb20vYmxpa2kvVmFsdWVPYmplY3QuaHRtbCksIFtXaWtpcGVkaWEg RW50cnldKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZhbHVlX29iamVjdCkpIHdpdGgg dGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIChzaW1wbGlmeWluZyB0aGUgaWRlYSk6CgoqIHJlcHJl c2VudGluZyBzb21lIHJlbGF0aXZlbHkgc2ltcGxlIGRhdGE7CiogaW1tdXRhYmxlOwoqIGNvbXBh cmVkIGJ5IHR5cGUgJiB2YWx1ZTsKKiBuaWNlbHkgcmVwcmVzZW50ZWQuCgpWYWx1ZSBvYmplY3Rz IGFyZSBzdXBlci11c2VmdWwgZXNwZWNpYWxseSBmb3IgZGVmaW5pbmcgQVBJcywgdGhlaXIgaW5w dXQvcmV0dXJuIHZhbHVlcy4gUmVjZW50bHksIHRoZXJlIHdlcmUgc29tZSBtb3ZlbWVudCB0b3dh cmRzIHVzaW5nIG1vcmUgaW1tdXRhYmlsaXR5LWZyaWVuZGx5IGFwcHJvYWNoIGluIFJ1YnkgcHJv Z3JhbW1pbmcsIGxlYWRpbmcgdG8gY3JlYXRpbmcgc2V2ZXJhbCBkaXNjdXNzaW9ucy9saWJyYXJp ZXMgd2l0aCB2YWx1ZSBvYmplY3RzLiBGb3IgZXhhbXBsZSwgW1RvbSBEYWxsaW5nJ3MgZ2VtXSho dHRwczovL2dpdGh1Yi5jb20vdG9tZGFsbGluZy92YWx1ZV9zZW1hbnRpY3MpLCBbR29vZCBSdWJ5 IFZhbHVlIG9iamVjdCBjb252ZW50aW9uXShodHRwczovL2dpdGh1Yi5jb20venZlcm9rL2dvb2Qt dmFsdWUtb2JqZWN0KSAoZGlzY2xhaW1lcjogdGhlIGxhdHRlciBpcyBtYWludGFpbmVkIGJ5IHlv dXJzIHRydWx5KS4KCkkgcHJvcG9zZSB0byBpbnRyb2R1Y2UgKipuYXRpdmUgdmFsdWUgb2JqZWN0 cyoqIHRvIFJ1YnkgYXMgYSBjb3JlIGNsYXNzLgoKKipXaHkgbm90IGEgZ2VtPyoqCgoqIEkgYmVs aWV2ZSB0aGF0IGNvbmNlcHQgaXMgdGhhdCBzaW1wbGUsIHRoYXQgbm9ib2R5ICp3aWxsIGV2ZW4g dHJ5KiB0byB1c2UgYSBnZW0gZm9yIHJlcHJlc2VudGluZyBpdCB3aXRoLCB1bmxlc3MgdGhlIGZy YW1ld29yay9saWJyYXJ5IHVzZWQgYWxyZWFkeSBwcm92aWRlcyBvbmUuCiogUG90ZW50aWFsbHks IGEgbG90IG9mIHN0YW5kYXJkIGxpYnJhcnkgKGFuZCBwcm9iYWJseSBldmVuIGNvcmUpIEFQSXMg Y291bGQgYmVuZWZpdCBmcm9tIHRoZSBjb25jZXB0LgoKKipXaHkgYFN0cnVjdGAgaXMgbm90IGVu b3VnaCoqCgpDb3JlIGBTdHJ1Y3RgIGNsYXNzIGlzICJzb21ld2hhdCBhbGlrZSIgdmFsdWUtb2Jq ZWN0LCBhbmQgZnJlcXVlbnRseSB1c2VkIGluc3RlYWQgb2Ygb25lOiBpdCBpcyBjb21wYXJlZCBi eSB2YWx1ZSBhbmQgY29uc2lzdHMgb2Ygc2ltcGxlIGF0dHJpYnV0ZXMuIE9uIHRoZSBvdGhlciBo YW5kLCBgU3RydWN0YCBpczoKKiBtdXRhYmxlOwoqIGNvbGxlY3Rpb24tYWxpa2UgKGRlZmluZXMg YHRvX2FgIGFuZCBpcyBgRW51bWVyYWJsZWApOwoqIGRpY3Rpb25hcnktYWxpa2UgKGhhcyBgW11g IGFuZCBgLnZhbHVlc2AgbWV0aG9kcykuCgpUaGUgYWJvdmUgdHJhaXRzIHNvbWVob3cgZXJvZGVz IHRoZSBzZW1hbnRpY3MsIG1ha2luZyBjb2RlIGxlc3MgY2xlYXIsIGVzcGVjaWFsbHkgd2hlbiBk dWNrLXR5cGluZyBpcyB1c2VkLgoKRm9yIGV4YW1wbGUsIHRoaXMgY29kZSBzbmlwcGV0IHNob3dz IHdoeSBgdG9fYWAgaXMgcHJvYmxlbWF0aWM6CgpgYGBydWJ5ClJlc3VsdCA9IFN0cnVjdC5uZXco OnN1Y2Nlc3MsIDpjb250ZW50KQoKIyBOb3csIGltYWdpbmUgdGhhdCBvdGhlciBjb2RlIGFzc3Vt ZXMgYGRhdGFgIGNvdWxkIGJlIGVpdGhlciBSZXN1bHQsIG9yIFtSZXN1bHQsIFJlc3VsdCwgUmVz dWx0XQojIFNvLCAuLi4KCmRhdGEgPSBSZXN1bHQubmV3KHRydWUsICdpdCBpcyBhd2Vzb21lJykK CkFycmF5KGRhdGEpICMgPT4gZXhwZWN0ZWQgW1Jlc3VsdCh0cnVlLCAnaXQgaXMgYXdlc29tZScp XSwgZ290IFt0cnVlLCAnaXQgaXMgYXdlc29tZSddCgojIG9yLi4uCmRlZiBmb28oYXJnMSwgYXJn MiA9IG5pbCkKcCBhcmcxLCBhcmcyCmVuZAoKZm9vKCpkYXRhKSAjID0+IGV4cGVjdGVkIFtSZXN1 bHQodHJ1ZSwgJ2l0IGlzIGF3ZXNvbWUnKSwgbmlsXSwgZ290IFt0cnVlLCAnaXQgaXMgYXdlc29t ZSddCmBgYAoKSGF2aW5nIGBbXWAgYW5kIGBlYWNoYCBkZWZpbmVkIG9uIHNvbWV0aGluZyB0aGF0 IGlzIHRob3VnaHQgYXMgImp1c3QgdmFsdWUiIGNhbiBhbHNvIGxlYWQgdG8gc3VidGxlIGJ1Z3Ms IHdoZW4gc29tZSBtZXRob2QgY2hlY2tzICJpZiB0aGUgcmVjZWl2ZWQgYXJndW1lbnQgaXMgY29s bGVjdGlvbi1hbGlrZSIsIGFuZCB2YWx1ZSBvYmplY3QncyBhdXRob3IgZG9lc24ndCB0aG91Z2h0 IG9mIGl0IGFzIGEgY29sbGVjdGlvbi4KCioqQ29uY3JldGUgcHJvcG9zYWwqKgoKKiBDbGFzcyBu YW1lOiBgU3RydWN0OjpWYWx1ZWA6IGxvdCBvZiBSdWJ5aXN0cyBhcmUgdXNlZCB0byBoYXZlIGBT dHJ1Y3RgIGFzIGEgcXVpY2sgInNvbWV0aGluZy1saWtlLXZhbHVlIiBkcm9wLWluLCBzbyBhbHRl cm5hdGl2ZSwgbW9yZSBzdHJpY3QgaW1wbGVtZW50YXRpb24sIGJlaW5nIHBhcnQgb2YgYFN0cnVj dGAgQVBJLCB3aWxsIGJlIHF1aXRlIGRpc2NvdmVyYWJsZTsgKmFsdGVybmF0aXZlOiBqdXN0IGBW YWx1ZWAqCiogQ2xhc3MgQVBJIGlzIGNvcHlpbmcgYFN0cnVjdGBzIG9uZSAobW9zdCBvZiB0aGUg dGltZSAtLSBldmVuIHJldXNlcyB0aGUgaW1wbGVtZW50YXRpb24pLCB3aXRoIHRoZSBmb2xsb3dp bmcgZXhjZXB0aW9ucyAqKG5vdGU6IHRoZSBpbW11dGFiaWxpdHkgaXMgKipub3QqKiB0aGUgb25s eSBkaWZmZXJlbmNlKSo6CiAgKiBOb3QgYEVudW1lcmFibGVgOwogICogSW1tdXRhYmxlOwogICog RG9lc24ndCB0aGluayBvZiBpdHNlbGYgYXMgImFsbW9zdCBoYXNoIiAoZG9lc24ndCBoYXZlIGB0 b19hYCwgYHZhbHVlc2AgYW5kIGBbXWAgbWV0aG9kcyk7CiAgKiBDYW4gaGF2ZSBlbXB0eSBtZW1i ZXJzIGxpc3QgKGZ1biBmYWN0OiBgU3RydWN0Lm5ldygnRm9vJylgIGNyZWF0aW5nIG1lbWJlci1s ZXNzIGBTdHJ1Y3Q6OkZvb2AsIGlzIGFsbG93ZWQsIGJ1dCBgU3RydWN0Lm5ldygpYCBpcyBub3Qp IHRvIGFsbG93IHVzYWdlIHBhdHRlcm5zIGxpa2U6CgpgYGBydWJ5CmNsYXNzIE15U2VydmljZQog IFN1Y2Nlc3MgPSBTdHJ1Y3Q6OlZhbHVlLm5ldyg6cmVzdWx0cykKICBOb3RGb3VuZCA9IFN0cnVj dDo6VmFsdWUubmV3CmVuZApgYGAKCmBOb3RGb3VuZGAgaGVyZSwgdW5saWtlLCBzYXksIGBPYmpl Y3QubmV3LmZyZWV6ZWAgKGFub3RoZXIgcGF0dGVybiBmb3IgY3JlYXRpbmcgImVtcHR5IHR5cGVk IHZhbHVlIG9iamVjdCIpLCBoYXMgbmljZSBpbnNwZWN0IGAjPHZhbHVlIE5vdEZvdW5kPmAsIGFu ZCBjcmVhdGVkIGNvbnNpc3RlbnRseSB3aXRoIHRoZSBgU3VjY2Vzc2AsIG1ha2luZyB0aGUgY29k ZSBtb3JlIHJlYWRhYmxlLiBBbmQgaWYgaXQgd2lsbCBldm9sdmUgdG8gaGF2ZSBzb21lIGF0dHJp YnV0ZXMsIHRoZSBjb2RlIGNoYW5nZSB3b3VsZCBiZSBlYXN5LgoKKipQYXRjaCBpcyBwcm92aWRl ZCoqCgpbU2FtcGxlIHJlbmRlcmVkIFJEb2MgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly96dmVyb2su Z2l0aHViLmlvL3J1YnktcmRvYy9TdHJ1Y3QtVmFsdWUuaHRtbCkKCi0tLUZpbGVzLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3RydWN0X3ZhbHVlLnBhdGNoICgxOC42IEtCKQoKCi0t IApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K