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 C46E61F4D7 for ; Thu, 21 Apr 2022 10:37:57 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 4E7C0120DA3; Thu, 21 Apr 2022 19:37:55 +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 1B751120D51 for ; Thu, 21 Apr 2022 19:37:52 +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=kVjosvt4IJH79AD1y9udwlwjOl450fpMbYjAgIdNoUk=; b=O74lxLn5wXyplfBTDHWX2Z+nq6UqcWe6tuQEuSGPYXdwhrJ3iiO36o91GP3g2SfSci9E j75ydsfwCl5DyUQOOuxZRO3TfclEmnMjFrwBhXyizd3uwDkrzCaYxchr9V/1I2tVhsyuk5 bCgl8Mn35LSisjU7nnLasD25u4lMJo2Hw= Received: by filterdrecv-67b64bbffd-cs4bt with SMTP id filterdrecv-67b64bbffd-cs4bt-1-626133FF-5 2022-04-21 10:37:51.099873461 +0000 UTC m=+1255947.575983259 Received: from herokuapp.com (unknown) by geopod-ismtpd-1-3 (SG) with ESMTP id j9Qiu4JIRCu1BuMdzLVPAw for ; Thu, 21 Apr 2022 10:37:50.979 +0000 (UTC) Date: Thu, 21 Apr 2022 10:37:51 +0000 (UTC) From: "Eregon (Benoit Daloze)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18685 X-Redmine-Issue-Author: knu X-Redmine-Sender: Eregon 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: 84713 X-SG-EID: =?us-ascii?Q?DvL3W2Xo+Vk=2FeUn3F50L=2FNc8u9NqZCnbE0mXZHiyye4R1YZg=2FtAFc0SAFzpcS=2F?= =?us-ascii?Q?Zcr7BqPN=2FYCcMZBMITNeIci9STxYay0JAJWPbek?= =?us-ascii?Q?rFR+qW+4m8zXKTqK4hrQAnJJxJWA9yyd=2F=2FZjKDv?= =?us-ascii?Q?Tpgx6QapoE=2FcJI+5oK2eBGQ+XBmczU9nWHW10TS?= =?us-ascii?Q?GSu559YYX8NXz=2FDsChH2M99kZ9g7EtYPEz3WzHQ?= =?us-ascii?Q?ameFoLYiV0oTdxVHAwWqvxwQe4J6jD5bRCLqu6E?= =?us-ascii?Q?O9BsJVzfufyWB6czYGNKA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108346 Subject: [ruby-core:108346] [Ruby master Feature#18685] Enumerator.product: Cartesian product of enumerables 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" SXNzdWUgIzE4Njg1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N Cg0KDQpNeSBwZXJmb3JtYW5jZSBjb25jZXJuIHdhcyBub3QgYWJvdXQgUnVieSB2cyBDLCB3cml0 aW5nIGluIEMgd291bGQgaGF2ZSB0aGUgc2FtZSBpc3N1ZXMuDQoNCldoYXQgSSdtIHNheWluZyBp cyB0aGlzOg0KYGBgcnVieQ0KKDEuLjMpLmVhY2ggZG8gfGl8DQogIFsiQSIsICJCIl0uZWFjaCBk byB8Y3wNCiAgICBwdXRzICIje2l9LSN7Y30iDQogIGVuZA0KZW5kDQpgYGANCndpbGwgYWx3YXlz IGJlIGZhc3RlciB0aGFuOg0KYGBgcnVieQ0KRW51bWVyYXRvci5wcm9kdWN0KDEuLjMsIFsiQSIs ICJCIl0pLmVhY2ggZG8gfGksIGN8DQogIHB1dHMgIiN7aX0tI3tjfSINCmVuZA0KYGBgDQpiZWNh dXNlIHRoZSAgc2Vjb25kIGhhcyBhIGdlbmVyaWMvY2Fubm90LWRvLXNlbnNpYmxlLWlubGluZS1j YWNoZSBsb29wIGFuZCBsb3RzIG9mIGFycmF5IGFsbG9jYXRpb24gYW5kIHNwbGF0dGluZy4NCg0K U28gRW51bWVyYXRvci5wcm9kdWN0IG1ha2VzIHNlbnNlIHdoZW4gb25lIGRvZXNuJ3Qga25vdyBo b3cgbWFueSBgZW51bXNgIHRvIGNvbWJpbmUsIG9yIGEgbGFyZ2UgbnVtYmVyIG9mIHRoZW0sIGJ1 dCBmb3IgMi0zIGl0J3MgYmV0dGVyIHBlcmZvcm1hbmNlLXdpc2UgKGFuZCBtYXliZSBhbHNvIGZv ciBjbGFyaXR5KSB0byBqdXN0IHVzZSBuZXN0ZWQgYGVhY2hgLg0KDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxODY4NTogRW51bWVyYXRvci5wcm9k dWN0OiBDYXJ0ZXNpYW4gcHJvZHVjdCBvZiBlbnVtZXJhYmxlcw0KaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzE4Njg1I2NoYW5nZS05NzM3MQ0KDQoqIEF1dGhvcjoga251IChBa2lu b3JpIE1VU0hBKQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KKiBUYXJnZXQg dmVyc2lvbjogMy4yDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJ J2QgbGlrZSB0byBhZGQgYSBuZXcgRW51bWVyYXRvciBjbGFzcyBtZXRob2QgZm9yIGdlbmVyYXRp bmcgdGhlIENhcnRlc2lhbiBwcm9kdWN0IG9mIGdpdmVuIGVudW1lcmF0b3JzLg0KQSBwcm9kdWN0 IGhlcmUgZG9lcyBub3QgbWVhbiBhbiBhY2N1bXVsYXRlZCBhcnJheSBvZiBhcnJheXMsIGJ1dCBh biBlbnVtZXJhdG9yIHRvIGVudW1lcmF0ZSBhbGwgY29tYmluYXRpb25zLg0KDQpgYGBydWJ5DQpw cm9kdWN0ID0gRW51bWVyYXRvci5wcm9kdWN0KDEuLjMsIFsiQSIsICJCIl0pDQpwIHByb2R1Y3Qu Y2xhc3MgIz0+IEVudW1lcmF0b3INCg0KcHJvZHVjdC5lYWNoIGRvIHxpLCBjfA0KICBwdXRzICIj e2l9LSN7Y30iDQplbmQNCg0KPWJlZ2luIG91dHB1dA0KMS1BDQoxLUINCjItQQ0KMi1CDQozLUEN CjMtQg0KPWVuZA0KYGBgDQoNClRoaXMgY2FuIGJlIHVzZWQgdG8gcmVkdWNlIG5lc3RlZCBibG9j a3MgYW5kIGFsbG93cyBmb3IgaXRlcmF0aW5nIG92ZXIgYW4gaW5kZWZpbml0ZSBudW1iZXIgb2Yg ZW51bWVyYWJsZSBvYmplY3RzLg0KDQojIyBJbXBsZW1lbnRhdGlvbiBub3Rlcw0KDQotIEl0IHNo b3VsZCBpbnRlcm5hbGx5IHVzZSBgZWFjaF9lbnRyeWAgaW5zdGVhZCBvZiBgZWFjaGAgb24gZW51 bWVyYWJsZSBvYmplY3RzIHRvIG1ha2Ugc3VyZSB0byBjYXB0dXJlIGFsbCB5aWVsZGVkIGFyZ3Vt ZW50cy4NCi0gSWYgbm8gZW51bWVyYWJsZSBvYmplY3QgaXMgZ2l2ZW4sIHRoZSBibG9jayBpcyBj YWxsZWQgb25jZSB3aXRoIG5vIGFyZ3VtZW50Lg0KLSBJdCBzaG91bGQgcmVqZWN0IGEga2V5d29y ZC1zdHlsZSBoYXNoIGFyZ3VtZW50IHNvIHdlIGNhbiBhZGQga2V5d29yZCBhcmd1bWVudHMgaW4g dGhlIGZ1dHVyZSB3aXRob3V0IGJyZWFraW5nIGV4aXN0aW5nIGNvZGUuDQotIEhlcmUncyBhbiBl eGFtcGxlIGltcGxlbWVudGF0aW9uOg0KDQogIGBgYHJ1YnkNCiAgIyBjYWxsLXNlcToNCiAgIyAg IEVudW1lcmF0b3IucHJvZHVjdCgqZW51bXMpICAgICAgICAgICAgICAgICAgIC0+IGVudW0NCiAg IyAgIEVudW1lcmF0b3IucHJvZHVjdCgqZW51bXMpIHsgfCphcmdzfCBibG9jayB9IC0+IHJldHVy biB2YWx1ZSBvZiBhcmdzWzBdLmVhY2hfZW50cnkge30NCiAgZGVmIEVudW1lcmF0b3IucHJvZHVj dCgqZW51bXMsICoqbmlsLCAmYmxvY2spDQogICAjIFRPRE86IHNpemUgc2hvdWxkIGJlIGNhbGN1 bGF0ZWQgaWYgcG9zc2libGUNCiAgICByZXR1cm4gdG9fZW51bShfX21ldGhvZF9fLCAqZW51bXMp IGlmIGJsb2NrLm5pbD8NCg0KICAgIGVudW1zLnJldmVyc2UucmVkdWNlKGJsb2NrKSB7IHxpbm5l ciwgZW51bXwNCiAgICAgIC0+KCp2YWx1ZXMpIHsNCiAgICAgICAgZW51bS5lYWNoX2VudHJ5IHsg fHZhbHVlfA0KICAgICAgICAgIGlubmVyLmNhbGwoKnZhbHVlcywgdmFsdWUpDQogICAgICAgIH0N CiAgICAgIH0NCiAgICB9LmNhbGwoKQ0KICBlbmQNCiAgYGBgDQoNCi0gTm90IHRvIGJlIGNvbmZ1 c2VkIHdpdGggYEVudW1lcmF0b3IucHJvZHVjZWAuIPCfmJ0NCg0KIyMgUHJpb3IgY2FzZQ0KLSBQ eXRob246IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9pdGVydG9vbHMuaHRtbCNp dGVydG9vbHMucHJvZHVjdA0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn Lw0K