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.1 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=ham 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 D07031F4B4 for ; Thu, 1 Apr 2021 13:27:13 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 267F2120F8F; Thu, 1 Apr 2021 22:26:11 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 3AAA8120AE0 for ; Thu, 1 Apr 2021 22:26:08 +0900 (JST) Received: by filterdrecv-p3mdw1-85cc49d4fc-zd4m8 with SMTP id filterdrecv-p3mdw1-85cc49d4fc-zd4m8-19-6065CA29-8D 2021-04-01 13:27:06.014555984 +0000 UTC m=+759245.518372020 Received: from herokuapp.com (unknown) by ismtpd0176p1iad2.sendgrid.net (SG) with ESMTP id F0A7dLKaQi-dI31QPeJxug for ; Thu, 01 Apr 2021 13:27:05.942 +0000 (UTC) Date: Thu, 01 Apr 2021 13:27:06 +0000 (UTC) From: daniel@dan42.com Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 79193 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 17768 X-Redmine-Issue-Author: mame X-Redmine-Sender: Dan0042 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-SG-EID: =?us-ascii?Q?8sy4RigFvRTdBfCVJrT9zb2J88PC92TMQwdNgaWYaq7cm5RtfuEGVd8hAazy7t?= =?us-ascii?Q?R+R0fIxcCHQ44gimkB7BxbS04yjlp+WX5z4jBUh?= =?us-ascii?Q?VGg8TwU3rf5N08j+NW2SF10G6ZY07UeCvbRrgdM?= =?us-ascii?Q?WONmtYPIWEau5Z0RkObyEjiJGhmaHUsu2l4XT4A?= =?us-ascii?Q?NqTxMINokHQKtA7+=2Fq5Fjq7nbl6Vr+k1oRbQWcn?= =?us-ascii?Q?hjLhi6iiNAd0=2F4ILk=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 103150 Subject: [ruby-core:103150] [Ruby master Feature#17768] Proposal: Downward assignments X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE3NzY4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRGFuMDA0MiAoRGFuaWVsIERlTG9ybWUp Lg0KDQoNCldoYXQgYW4gYW1hemluZywgYmVhdXRpZnVsLCBhbmQgcmV2b2x1dGlvbmFyeSBpZGVh IQ0KQnV0IHdoYXQgYWJvdXQgdXNpbmcgYW4gb3ZlcmJhciAoVSsyMDNFKSBpbnN0ZWFkIG9mIGNp cmN1bWZsZXg/IEl0J3Mgbm90IHRoYXQgaGFyZCB0byB0eXBlIGFuZCBpdCBicmluZ3MgZXh0cmEg Y2xhcml0eSBhbmQgdmlzdWFsIHBsZWFzYW50bmVzcyB0byB0aGUgY29kZSwgd2hpbGUgZWxpbWlu YXRpbmcgYW55IHBvc3NpYmlsaXR5IG9mIGNvbmZsaWN0IHdpdGggZXhpc3Rpbmcgc3ludGF4Lg0K DQpgYGANCnAoMiAqIDMgKiA3KSAgIz0+IDQyDQogIOKAvuKAvuKAvuKAvuKAvnZhcg0KDQpwIHZh ciAgICAgICAgICM9PiA2DQoNCnB1dHMoIkhlbGxvIiArICJXb3JsZCIpICAjPT4gSGVsbG9Xb3Js ZA0KICAgICDigL7igL7igL7igL7igL7igL7igL54ICDigL7igL7igL7igL7igL7igL7igL55DQog DQpwIHggICM9PiAiSGVsbG8iDQpwIHkgICM9PiAiV29ybGQiDQpgYGANCg0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxNzc2ODogUHJvcG9zYWw6 IERvd253YXJkIGFzc2lnbm1lbnRzDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MTc3NjgjY2hhbmdlLTkxMjIzDQoNCiogQXV0aG9yOiBtYW1lIChZdXN1a2UgRW5kb2gpDQoqIFN0 YXR1czogT3Blbg0KKiBQcmlvcml0eTogTm9ybWFsDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpSaWdodHdhcmQgYXNzaWdubWVudHMgaGF2ZSBiZWVuIGludHJvZHVj ZWQgc2luY2UgMy4wLg0KVG8gYmUgaG9uZXN0LCBJJ20gbm90IGEgYmlnIGZhbiBvZiB0aGUgc3lu dGF4IGJlY2F1c2UgaXQgZG9lcyBub3QgYWRkIGEgbmV3IGRpbWVuc2lvbiB0byBSdWJ5Lg0KV2h5 IGRvbid0IHdlIGJyaW5nIFJ1YnkgdG8gdGhlIG5leHQgZGltZW5zaW9uPw0KDQoNCiMjIFByb3Bv c2FsDQoNCkkgcHJvcG9zZSAiZG93bndhcmQgYXNzaWdubWVudHMiLg0KDQpgYGANCnAoMiAqIDMg KiA3KSAgIz0+IDQyDQogIF5eXl5edmFyDQoNCnAgdmFyICAgICAgICAgIz0+IDYNCmBgYA0KDQpU aGlzIG5ldyBzeW50YXggaW50ZXJjZXB0cyB0aGUgaW50ZXJtZWRpYXRlIHZhbHVlIG9mIGEgc3Vi ZXhwcmVzc2lvbi4NCkluIHRoZSBhYm92ZSBleGFtcGxlLCB0aGUgc3ViZXhwcmVzc2lvbiBgMiAq IDNgIGlzIGNhcHR1cmVkIHRvIGB2YXJgLg0KDQpZb3UgY2FuIGNhcHR1cmUgbXVsdGlwbGUgc3Vi ZXhwcmVzc2lvbnMgaW4gb25lIGxpbmUuDQoNCmBgYA0KcHV0cygiSGVsbG8iICsgIldvcmxkIikg ICM9PiBIZWxsb1dvcmxkDQogICAgIF5eXl5eXl54ICBeXl5eXl5eeQ0KDQpwIHggICM9PiAiSGVs bG8iDQpwIHkgICM9PiAiV29ybGQiDQpgYGANCg0KVGhpcyBwcm9wb3NhbCBzb2x2ZXMgc29tZSBs b25nLXN0YW5kaW5nIGlzc3VlcyBpbiBSdWJ5Lg0KDQoNCiMjIFVzZSBjYXNlIDENCg0KRXZlcnlv bmUgaGFzIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyBjb2RlLg0KDQpgYGANCndoaWxlIChsaW5lID0g Z2V0cykgIT0gbmlsDQogIHAgbGluZQ0KZW5kDQpgYGANCg0KVGhpcyBjb2RlIGlzIG5vdCBzbyBi YWQsIGJ1dCB0aGVyZSdzIHNvbWV0aGluZyB0aGF0IGhhcyBiZWVuIG9uIG15IG1pbmQ6IGlzIGl0 IHJlYWxseSBnb29kIHRvIHB1dCBhbiBhc3NpZ25tZW50IGludG8gYSBjb25kaXRpb24gZXhwcmVz c2lvbj8NCkknbSBhZnJhaWQgdGhhdCBpdCBtYWtlcyB0aGUgbG9vcCBjb25kaXRpb24gdW5jbGVh ci4NCg0KVW5mb3J0dW5hdGVseSwgaXQgaXMgZGlmZmljdWx0IHRvIGtlZXAgdGhlIGNvbmRpdGlv biBjbGVhciBpbiBSdWJ5Lg0KSWYgdGhlIGFzc2lnbm1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBj b25kaXRpb24sIHRoZSBjb2RlIGJlY29tZXMgZXZlbiBtb3JlIHVuY2xlYXIgYXMgZm9sbG93cy4N Cg0KYGBgDQp3aGlsZSB0cnVlDQogIGxpbmUgPSBnZXRzDQogIGJyZWFrIGlmIGxpbmUgPT0gbmls DQogIHAgbGluZQ0KZW5kDQpgYGANCg0KDQoNCkJ5IHVzaW5nIG15IHByb3Bvc2FsLCB5b3UgY2Fu IG1ha2UgdGhlIGNvbmRpdGlvbiBjcnlzdGFsLWNsZWFyLg0KDQpgYGANCndoaWxlIGdldHMgIT0g bmlsDQogICAgICBeXl5ebGluZQ0KICBwIGxpbmUNCmVuZA0KYGBgDQoNCg0KIyMgVXNlIGNhc2Ug Mg0KDQpDb25zaWRlciB0aGF0IHdlIHdhbnQgdG8gZ2V0IGZyb20gYW4gYXJyYXkgdGhlIGxhc3Qg ZWxlbWVudCB0aGF0IG1lZXRzIGEgY29uZGl0aW9uLg0KDQpgYGANCmFyeSA9IFsxLCAyLCAzLCA0 LCA1XQ0KDQphcnkuZWFjaCB7fGVsZW18IGZvdW5kID0gZWxlbSBpZiBlbGVtLmV2ZW4/IH0NCg0K cCBmb3VuZCAgIz0+IDQNCmBgYA0KDQpBcyB5b3Uga25vdywgdGhpcyBjb2RlIGRvZXMgbm90IHdv cmsuDQpXZSBuZWVkIHRvIGFkZCBgZm91bmQgPSBuaWxgIHRvIGRlY2xhcmUgdGhlIHZhcmlhYmxl ICJmb3VuZCIgaW4gdGhlIG91dGVyIHNjb3BlLg0KQnV0IHRoaXMgaXMgdW5hcmd1YWJseSBkaXJ0 eS4NCg0KTXkgcHJvcG9zYWwgYWxsb3dzIHRvIG1ha2UgdGhlIGNvZGUgdmVyeSBzdHJhaWdodGZv cndhcmQuDQoNCmBgYA0KYXJ5ID0gWzEsIDIsIDMsIDQsIDVdDQoNCmFyeS5lYWNoIHt8ZWxlbXwg ZWxlbSBpZiBlbGVtLmV2ZW4/IH0NCiAgICAgICAgICAgICAgICAgXl5eXmZvdW5kDQoNCnAgZm91 bmQgICM9PiA0DQpgYGANCg0KDQojIyBVc2UgY2FzZSAzDQoNCldoZW4gd3JpdGluZyBhIGNvbnN0 cnVjdG9yLCB3ZSBuZWVkIHRvIHdyaXRlIGVhY2ggZmllbGQgbmFtZSB3aG9wcGluZyB0aHJlZSB0 aW1lcy4NCg0KYGBgDQpjbGFzcyBDDQogIGRlZiBpbml0aWFsaXplKGZvbywgYmFyKQ0KICAgIEBm b28gPSBmb28NCiAgICBAYmFyID0gYmFyDQogIGVuZA0KZW5kDQpgYGANCg0KTXkgcHJvcG9zYWwg bWl0aWdhdGVzIHRoZSBwcm9ibGVtIHRvIHR3byB0aW1lcy4NCg0KYGBgDQpjbGFzcyBDDQogIGRl ZiBpbml0aWFsaXplKGZvbywgICAgYmFyKQ0KICAgICAgICAgICAgICAgICBeXl5AZm9vIF5eXkBi YXINCmVuZA0KYGBgDQoNCg0KIyMgUGF0Y2gNCg0KQSBwcm9vZi1vZi1jb25jZXB0IGlzIGF0dGFj aGVkLg0KDQpgYGANCiQgY2F0IHRlc3QucmINCnAoMiAqIDMgKiA3KQ0KICBeXl5eXnZhcg0KDQpw IHZhcg0KDQoNCndoaWxlIGdldHMgIT0gbmlsDQogICAgICBeXl5ebGluZQ0KICBwIGxpbmUNCmVu ZA0KDQoNCmFyeSA9IFsxLCAyLCAzLCA0LCA1XQ0KDQphcnkuZWFjaCB7fGVsZW18IGVsZW0gaWYg ZWxlbS5ldmVuPyB9DQogICAgICAgICAgICAgICAgIF5eXl5mb3VuZA0KDQpwIGZvdW5kICAjPT4g NA0KDQokIGVjaG8gLWUgImZvb1xuYmFyIiB8IC4vbWluaXJ1YnkgdGVzdC5yYg0KNDINCjYNCiJm b29cbiINCiJiYXJcbiINCjQNCmBgYA0KDQpOb3RlczoNCg0KKiBUaGUgc3ludGF4IGFsbG93cyBv bmx5IEFTQ0lJIGNoYXJhY3RlcnMgYmVjYXVzZSBbIkVhc3QgQXNpYW4gd2lkdGgiXShodHRwOi8v d3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIxMS8pIGlzIGEgaGVsbC4NCiogTXkgcGF0Y2ggZG9l cyBub3QgaW1wbGVtZW50IGJpbmRpbmcgYSBtZXRob2QgcGFyYW1ldGVyIChVc2UgY2FzZSAzKS4N CiogVGhlcmUgYXJlIHNvbWUga25vd24gYnVncy4gTG9vayBmb3IgdGhlbS4NCg0KDQojIyBDb21w YXRpYmlsaXR5DQoNCkEgbGluZSB0aGF0IHN1ZGRlbmx5IHN0YXJ0cyB3aXRoIGBeYCBpcyBpbnZh bGlkIGN1cnJlbnRseS4NClRoaXMgaXMgd2h5IEkgY2hvc2UgImRvd253YXJkIiBzaW5jZSB1cHdh cmQgYXNzaWdubWVudHMgYXJlIGluY29tcGF0aWJsZS4NCg0KYGBgDQogICAgICB2dnZ2IGxpbmUN CndoaWxlIGdldHMNCmBgYA0KDQpXaGVuIHRoZSBwcmV2aW91cyBsaW5lIGNvbnRpbnVlcywgYF5g IGlzIGFwcHJvcHJpYXRlbHkgaGFuZGxlZCBhcyBhbiBYT1IgYmluYXJ5IG9wZXJhdG9yLg0KDQpg YGANCnggPSAxDQoNCiMgVGhlIGZvbGxvd2luZyBpcyBjb25zaWRlcmVkIGFzOiB5ID0gMl54DQp5 ID0gMlwNCiAgICBeeA0KDQpwIHggICM9PiAxDQpwIHkgICM9PiAzDQpgYGANCg0KU28sIEkgdGhp bmsgdGhpcyBwcm9wb3NhbCBpcyAxMDAlIGNvbXBhdGlibGUuDQoNCg0KIyMgRGlzY3Vzc2lvbg0K DQpJJ20gdW5zdXJlIGhvdyBzaG91bGQgd2UgaGFuZGxlIHRoaXMuDQoNCmBgYA0KcCgyICogMyAq IDcpDQogICAgICBeXl5eXnZhcg0KYGBgDQoNCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCjIwMjEtYXByaWxmb29sLnBhdGNoICg5LjA3IEtCKQ0KDQoNCi0tIA0KaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQo=