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, SPF_PASS,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 4001F1F852 for ; Sat, 15 Jan 2022 16:57:19 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id E12C2120A89; Sun, 16 Jan 2022 01:57:16 +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 1C8E4120A6D for ; Sun, 16 Jan 2022 01:57:13 +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; s=smtpapi; bh=9aJJ6lKd3UgSuS6iWWC/wGNe+a54eQFldYUqTabwUqY=; b=ZpX0A+zVBl/dZ5RcQS0XV5KRvKkbzJgs9nTACa8MzKf7WlcrlmAVq8cZEh6AWhCh1AEL uV5ZD/jJ0FAwuUDwNFzB6zAinEWie/uw1lhHHg5fT8JIefn32bXjdpsRT1QneJRM5dXBnh wFb9qaxG9ERShY9Tx/U0GY/NiyHgI23i8= Received: by filterdrecv-75ff7b5ffb-bcbbj with SMTP id filterdrecv-75ff7b5ffb-bcbbj-1-61E2FCE7-2D 2022-01-15 16:57:11.952070002 +0000 UTC m=+11730976.266941198 Received: from herokuapp.com (unknown) by geopod-ismtpd-6-3 (SG) with ESMTP id BwN12Ww6Qt6dKt9Lqb_H9g for ; Sat, 15 Jan 2022 16:57:11.832 +0000 (UTC) Date: Sat, 15 Jan 2022 16:57:11 +0000 (UTC) From: "briankung (Brian Kung)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 16986 X-Redmine-Issue-Author: ko1 X-Redmine-Issue-Assignee: matz X-Redmine-Sender: briankung 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: 83414 X-SG-EID: =?us-ascii?Q?RrAZs0VK4pOQ3m8TP8hxzldHQ+s8Yu4kObtzqKkl8JnjJrwZBvLdYc8P27gJFm?= =?us-ascii?Q?9+GD+ahME1gbD5Vs9zFUhvE5mdSGKtYB8tS3Yv8?= =?us-ascii?Q?mb4YSkr4Q+9hA4RTg9CV5KLmJKQol0Jg21dYcav?= =?us-ascii?Q?fhxf9hHYg=2Fec3IEa4t0zyNgmg3zEgj4mxmyHwIo?= =?us-ascii?Q?AbzC6MTZwzBnrNEGojELtDHh6y7U4zSxJx2gDkq?= =?us-ascii?Q?5VDvxN63edBw1q3S6kR0XpO+4TuK6dw3fnFoBVQ?= =?us-ascii?Q?iBI1hZZkc5ZyWwcXylGOw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 107141 Subject: [ruby-core:107141] [Ruby master Feature#16986] Anonymous Struct literal 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" SXNzdWUgIzE2OTg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnJpYW5rdW5nIChCcmlhbiBLdW5nKS4N Cg0KDQpkdWVyc3QgKE1hcnRpbiBEw7xyc3QpIHdyb3RlIGluICNub3RlLTQzOg0KPiBPbmUgbW9y ZSBwb2ludDogSSBoYXZlbid0IHNlZW4gbXVjaCBleGFtcGxlcyBvZiBzaW1pbGFyIGZlYXR1cmVz IGluIG90aGVyIGxhbmd1YWdlcy4NCg0KU29ycnkgdG8gcmVzdXJyZWN0IGFuIG9sZCB0aHJlYWQs IGJ1dCBJIGp1c3Qgd2FudGVkIHRvIG1lbnRpb24gdGhhdCB0aGlzIGlzIGEgZmVhdHVyZSBvZiB0 aGUgWmlnIHByb2dyYW1taW5nIGxhbmd1YWdlOiBodHRwczovL3ppZ2xhbmcub3JnL2RvY3VtZW50 YXRpb24vMC42LjAvI0Fub255bW91cy1TdHJ1Y3QtTGl0ZXJhbHMgSSB0aGluayBpdCdzIHF1aXRl IGlubm92YXRpdmUsIGJ1dCBpdCdzIHRydWUgdGhhdCBpdCdzIG5vdCBhIGNvbW1vbiBsYW5ndWFn ZSBmZWF0dXJlLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpG ZWF0dXJlICMxNjk4NjogQW5vbnltb3VzIFN0cnVjdCBsaXRlcmFsDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy9pc3N1ZXMvMTY5ODYjY2hhbmdlLTk1OTg5DQoNCiogQXV0aG9yOiBrbzEgKEtv aWNoaSBTYXNhZGEpDQoqIFN0YXR1czogT3Blbg0KKiBQcmlvcml0eTogTm9ybWFsDQoqIEFzc2ln bmVlOiBtYXR6IChZdWtpaGlybyBNYXRzdW1vdG8pDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQojIEFic3RyYWN0DQoNCkhvdyBhYm91dCBpbnRyb2R1Y2luZyBhbm9u eW1vdXMgU3RydWN0IGxpdGVyYWwgc3VjaCBhcyBgJHthOiAxLCBiOiAyfWA/DQpJdCBpcyBhbG1v c3QgdGhlIHNhbWUgYXMgYFN0cnVjdC5uZXcoOmEsIDpiKS5uZXcoMSwgMilgLg0KDQojIFByb3Bv c2FsDQoNCiMjIEJhY2tncm91bmQNCg0KSW4gbWFueSBjYXNlcywgcGVvcGxlIHVzZSBoYXNoIG9i amVjdHMgdG8gcmVwcmVzZW50IGEgc2V0IG9mIHZhbHVlcyBzdWNoIGFzIGBwZXJzb24gPSB7bmFt ZTogImtvMSIsIGNvdW50cnk6ICdKYXBhbid9YCBhbmQgYWNjZXNzIGl0cyB2YWx1ZXMgdGhyb3Vn aCBgcGVyc29uWzpuYW1lXWAgYW5kIHNvIG9uLiBJdCBpcyBub3QgZWFzeSB0byB3cml0ZSAodGhy ZWUgY2hhcmFjdGVycyBgWzpdYCEpLCBhbmQgaXQgZWFzaWx5IGludHJvZHVjZXMgbWlzc3BlbGxp bmcgKGBwZXJzb25bOm5hbWFdYCBkb2Vzbid0IHJhaXNlIGFuIGVycm9yKS4NCg0KSWYgd2UgbWFr ZSBhIGBTdHJ1Y3RgIG9iamVjdCBieSBkb2luZyBgUGVyc29uID0gU3RydWN0Lm5ldyg6bmFtZSwg OmFnZSlgIGFuZCBgcGVyc29uID0gUGVyc29uLm5ldygna28xJywgJ0phcGFuJylgLCB3ZSBjYW4g YWNjZXNzIGl0cyB2YWx1ZXMgdGhyb3VnaCBgcGVyc29uLm5hbWVgIG5hdHVyYWxseS4gSG93ZXZl ciwgaXQgY29zdHMgY29kaW5nLiBBbmQgaW4gc29tZSBjYXNlcywgd2UgZG9uJ3Qgd2FudCB0byBu YW1lIHRoZSBjbGFzcyAoc3VjaCBhcyBgUGVyc29uYCkuDQoNClVzaW5nIGBPcGVuU3RydWN0YCAo YHBlcnNvbiA9IE9wZW5TdHJ1Y3QubmV3KG5hbWU6ICJrbzEiLCBjb3VudHJ5OiAiSmFwYW4iKWAp LCB3ZSBjYW4gYWNjZXNzIGl0IHRocm91Z2ggYHBlcnNvbi5uYW1lYCwgYnV0IHdlIGNhbiBleHRl bmQgdGhlIGZpZWxkcyB1bmludGVudGlvbmFsbHksIGFuZCB0aGUgcGVyZm9ybWFuY2UgaXMgbm90 IGdvb2QuDQoNCk9mIGNvdXJzZSwgd2UgY2FuIGRlZmluZSBhIGNsYXNzIGBQZXJzb25gIHdpdGgg YXR0cl9yZWFkZXJzLiBCdXQgaXQgdGFrZXMgc2V2ZXJhbCBsaW5lcy4NCg0KVG8gc3VtbWFyaXpl IHRoZSBuZWVkczoNCg0KKiBFYXN5IHRvIHdyaXRlDQogICogRG9lc24ndCByZXF1aXJlIGRlY2xh cmluZyB0aGUgY2xhc3MNCiAgKiBBY2Nlc3NpYmxlIHRocm91Z2ggYHBlcnNvbi5uYW1lYCBmb3Jt YXQNCiogTGltaXRlZCBmaWVsZHMNCiogQmV0dGVyIHBlcmZvcm1hbmNlDQoNCiMjIElkZWENCg0K SW50cm9kdWNlIG5ldyBsaXRlcmFsIHN5bnRheCBmb3IgYW4gYW5vbnltb3VzIFN0cnVjdCBzdWNo IGFzOiBgJHsgYTogMSwgYjogMiB9YC4NClNpbWlsYXIgdG8gSGFzaCBzeW50YXggKHdpdGggbGFi ZWxzKSwgYnV0IHdpdGggYCRgIHByZWZpeCB0byBkaXN0aW5ndWlzaC4NCg0KQW5vbnltb3VzIHN0 cnVjdHMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBtZW1iZXIgaW4gdGhlIHNhbWUgb3JkZXIgc2hhcmUg dGhlaXIgY2xhc3MuDQoNCmBgYHJ1YnkNCiAgICBzMSA9ICR7YTogMSwgYjogMiwgYzogM30NCiAg ICBzMiA9ICR7YTogMSwgYjogMiwgYzogM30NCiAgICBhc3NlcnQgczEgPT0gczINCg0KICAgIHMz ID0gJHthOiAxLCBjOiAzLCBiOiAyfQ0KICAgIHM0ID0gJHtkOiA0fQ0KDQogICAgYXNzZXJ0X2Vx dWFsIGZhbHNlLCBzMSA9PSBzMw0KICAgIGFzc2VydF9lcXVhbCBmYWxzZSwgczEgPT0gczQNCmBg YA0KDQojIyBOb3RlDQoNClVubGlrZSBIYXNoIGxpdGVyYWwgc3ludGF4LCB0aGlzIHByb3Bvc2Fs IG9ubHkgYWxsb3dzIGBsYWJlbDogZXhwcmAgbm90YXRpb24uIE5vIGAkeyoqaH1gIHN5bnRheC4N ClRoaXMgaXMgYmVjYXVzZSBpZiB3ZSBhbGxvdyB0byBzcGxhdCBhIEhhc2gsIGl0IGNhbiBiZSBh IHZ1bG5lcmFiaWxpdHkgYnkgc3BsYXR0aW5nIG91dGVyLWlucHV0IEhhc2guDQoNClRoYW5rcyB0 byB0aGlzIHNwZWMsIHdlIGNhbiBzcGVjaWZ5IGFub255bW91cyBTdHJ1Y3QgY2xhc3NlcyBhdCBj b21waWxlIHRpbWUuDQpXZSBkb24ndCBuZWVkIHRvIGZpbmQgb3IgY3JlYXRlIFN0cnVjdCBjbGFz c2VzIGF0IHJ1bnRpbWUuDQoNCiMjIEltcGxlbWVudGF0YXRpb24NCg0KaHR0cHM6Ly9naXRodWIu Y29tL3J1YnkvcnVieS9wdWxsLzMyNTkNCg0KIyBEaXNjdXNzaW9uDQoNCiMjIE5vdGF0aW9uDQoN Ck1hdHogc2FpZCBoZSB0aG91Z2h0IGFib3V0IGB7fGE6IDEsIGI6IDIgfH1gIHN5bnRheC4NCg0K IyMgUGVyZm9ybWFuY2UNCg0KU3VycHJpc2luZ2x5LCBIYXNoIGlzIGZhc3QgYW5kIFN0cnVjdCBp cyBzbG93Lg0KDQpgYGBydWJ5DQpCZW5jaG1hcmsuZHJpdmVyIGRvIHxyfA0KICByLnByZWx1ZGUg PDx+UFJFTFVERQ0KICBzdCA9IFN0cnVjdC5uZXcoOmEsIDpiKS5uZXcoMSwgMikNCiAgaHMgPSB7 YTogMSwgYjogMn0NCiAgY2xhc3MgQw0KICAgIGF0dHJfcmVhZGVyIDphLCA6Yg0KICAgIGRlZiBp bml0aWFsaXplKCkgPSAoQGEgPSAxOyBAYiA9IDIpDQogIGVuZA0KICBvYiA9IEMubmV3DQogIFBS RUxVREUNCiAgci5yZXBvcnQgIm9iLmEiDQogIHIucmVwb3J0ICJoc1s6YV0iDQogIHIucmVwb3J0 ICJzdC5hIg0KZW5kDQpfX0VORF9fDQpXYXJtaW5nIHVwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgICAgICAgb2IuYSAgICAzOC4xMDBNIGkvcyAtICAg ICAzOC4xNDJNIHRpbWVzIGluIDEuMDAxMTAxcyAoMjYuMjVucy9pLCA3NmNsb2Nrcy9pKQ0KICAg ICAgICAgICAgICBoc1s6YV0gICAgMzcuODQ1TSBpL3MgLSAgICAgMzguMDM3TSB0aW1lcyBpbiAx LjAwNTA1MXMgKDI2LjQybnMvaSwgNzZjbG9ja3MvaSkNCiAgICAgICAgICAgICAgICBzdC5hICAg IDMzLjM0OE0gaS9zIC0gICAgIDMzLjYxMk0gdGltZXMgaW4gMS4wMDc5MDRzICgyOS45OW5zL2ks IDg3Y2xvY2tzL2kpDQpDYWxjdWxhdGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQogICAgICAgICAgICAgICAgb2IuYSAgICA4Ny45MTdNIGkvcyAtICAgIDExNC4zMDBN IHRpbWVzIGluIDEuMzAwMDg1cyAoMTEuMzducy9pLCAzM2Nsb2Nrcy9pKQ0KICAgICAgICAgICAg ICBoc1s6YV0gICAgODUuNTA0TSBpL3MgLSAgICAxMTMuNTM2TSB0aW1lcyBpbiAxLjMyNzg1MHMg KDExLjcwbnMvaSwgMzNjbG9ja3MvaSkNCiAgICAgICAgICAgICAgICBzdC5hICAgIDYxLjMzN00g aS9zIC0gICAgMTAwLjA0NU0gdGltZXMgaW4gMS42MzEwNjRzICgxNi4zMG5zL2ksIDQ3Y2xvY2tz L2kpDQpDb21wYXJpc29uOg0KICAgICAgICAgICAgICAgIG9iLmE6ICA4NzkxNzM5MS40IGkvcw0K ICAgICAgICAgICAgICBoc1s6YV06ICA4NTUwMzcwMy42IGkvcyAtIDEuMDN4ICBzbG93ZXINCiAg ICAgICAgICAgICAgICBzdC5hOiAgNjEzMzc0NjMuMyBpL3MgLSAxLjQzeCAgc2xvd2VyDQpgYGAN Cg0KSSBiZWxpZXZlIHdlIGNhbiBzcGVlZCB1cCBgU3RydWN0YCBzaW1pbGFybHkgdG8gaXZhciBh Y2Nlc3Nlcywgc28gd2UgY2FuIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlLg0KDQoNCkJUVywgT3Bl blN0cnVjdCAob3MuYSkgaXMgc2xvdy4NCg0KYGBgDQpDb21wYXJpc29uOg0KICAgICAgICAgICAg ICBoc1s6YV06ICA5MjgzNTMxNy43IGkvcw0KICAgICAgICAgICAgICAgIG9iLmE6ICA4NTg2NTg0 OS41IGkvcyAtIDEuMDh4ICBzbG93ZXINCiAgICAgICAgICAgICAgICBzdC5hOiAgNTM0ODA0MTcu NSBpL3MgLSAxLjc0eCAgc2xvd2VyDQogICAgICAgICAgICAgICAgb3MuYTogIDEyNTQxMjY3Ljcg aS9zIC0gNy40MHggIHNsb3dlcg0KYGBgDQoNCg0KRm9yIG1lbW9yeSBjb25zdW1wdGlvbiwgYFN0 cnVjdGAgaXMgbW9yZSBsaWdodHdlaWdodCBiZWNhdXNlIHdlIGRvbid0IG5lZWQgdG8ga2VlcCB0 aGUga2V5IG5hbWVzLg0KDQojIyBOYW1pbmcNCg0KSWYgd2UgbmFtZSBhbiBhbm9ueW1vdXMgY2xh c3MsIGxpdGVyYWxzIHdpdGggdGhlIHNhbWUgbWVtYmVycyBzaGFyZSB0aGUgbmFtZS4NCg0KYGBg cnVieQ0KczEgPSAke2E6MX0NCnMyID0gJHthOjJ9DQpwIFtzMSwgczJdICM9PiBbIzxzdHJ1Y3Qg YT0xPiwgIzxzdHJ1Y3QgYT0yPl0NCkEgPSBzMS5jbGFzcw0KcCBbczEsIHMyXSAjPT4gWyM8c3Ry dWN0IEEgYT0xPiwgIzxzdHJ1Y3QgQSBhPTI+XQ0KDQpgYGANCg0KTWF5YmUgdGhhdCBpcyBub3Qg YSBnb29kIGJlaGF2aW9yLg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn Lw0K