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 AC1A71F4D7 for ; Thu, 21 Apr 2022 07:59:38 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 173A7120CDF; Thu, 21 Apr 2022 16:59:37 +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 99512120CD8 for ; Thu, 21 Apr 2022 16:59:34 +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=ILunYjGWXDT+S5wDqGC5GDhfDGspeJoSCL9CUUlc31w=; b=AOpFop/Xop53eMq5CR66u1nCXlBlHpN9pOwXpHhCX/nqtJvSJCZhPUtaqLQ5tLswGoy+ b7b8Ry2AUm2y7p6LJXmYN9oKrmIARC+y0yx59XY9Gc3Q1yXg7LYB6Hd60Xs5eOhO/TNd5g 0gyU1jkpxGym1g5UPR4b/JHGGkNuQQIfg= Received: by filterdrecv-5645d9c87f-6r2ch with SMTP id filterdrecv-5645d9c87f-6r2ch-1-62610EE4-20 2022-04-21 07:59:32.491504652 +0000 UTC m=+1246525.362315711 Received: from herokuapp.com (unknown) by geopod-ismtpd-1-2 (SG) with ESMTP id FMlL634QTLWus4t6lJodrQ for ; Thu, 21 Apr 2022 07:59:32.358 +0000 (UTC) Date: Thu, 21 Apr 2022 07:59:32 +0000 (UTC) From: "matz (Yukihiro Matsumoto)" 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: matz 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: 84701 X-SG-EID: =?us-ascii?Q?SqOeWfVKFgkgw8cVgc6MYslIG5ZBbSbWU3opJ5u4yBsU3yWoizgPd1Pss4ZMTd?= =?us-ascii?Q?OLBRodnvQO26=2FFyqng1x72rdTkbmTHg5l1+yKA9?= =?us-ascii?Q?AQWjb4eYWowg19+W3qMQ2VQWVMuYoHTUnnLXpit?= =?us-ascii?Q?l+Wa9MnT0WBGQsofFHRG2lHnN=2FP08WIkgSF+JC6?= =?us-ascii?Q?4PNlq8HuAIyLU3zFESfa0LVv0sB8b6ktOzVhG1a?= =?us-ascii?Q?RKfueOoCcrIZ0ZLkATv99aYBfO=2FPT7zL3+KT=2F6l?= =?us-ascii?Q?qf9KmCOLmH4z9=2F=2FucqefQ=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108334 Subject: [ruby-core:108334] [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" SXNzdWUgIzE4Njg1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv KS4NCg0KDQpMb29waW5nIGNsYXNzIG1ldGhvZCBpcyBhbiB1bnVzdWFsIHBhdHRlcm4gaW4gRW51 bWVyYWJsZS4gU28gSSBmaXJzdCBoZXNpdGF0ZWQsIGJ1dCBhY3R1YWxseSBpdCdzIHRoZSBvbmx5 IHdheSB0byBnbyBpZiB3ZSB3YW50IHRvIGludHJvZHVjZSBgcHJvZHVjdCcuDQpBbmQgdGhlIG1l dGhvZCBzZWVtcyB0byBiZSBjb252ZW5pZW50LiBUaHVzLCBJIGFjY2VwdC4NCkBlcmVnb24gSWYg dGhlIHBlcmZvcm1hbmNlIG1hdHRlcnMsIHdlIGNhbiByZS1pbXBsZW1lbnQgaXQgaW4gQy4NCg0K TWF0ei4NCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0 dXJlICMxODY4NTogRW51bWVyYXRvci5wcm9kdWN0OiBDYXJ0ZXNpYW4gcHJvZHVjdCBvZiBlbnVt ZXJhYmxlcw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4Njg1I2NoYW5nZS05 NzM1OQ0KDQoqIEF1dGhvcjoga251IChBa2lub3JpIE1VU0hBKQ0KKiBTdGF0dXM6IE9wZW4NCiog UHJpb3JpdHk6IE5vcm1hbA0KKiBUYXJnZXQgdmVyc2lvbjogMy4yDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJJ2QgbGlrZSB0byBhZGQgYSBuZXcgRW51bWVyYXRv ciBjbGFzcyBtZXRob2QgZm9yIGdlbmVyYXRpbmcgdGhlIENhcnRlc2lhbiBwcm9kdWN0IG9mIGdp dmVuIGVudW1lcmF0b3JzLg0KQSBwcm9kdWN0IGhlcmUgZG9lcyBub3QgbWVhbiBhbiBhY2N1bXVs YXRlZCBhcnJheSBvZiBhcnJheXMsIGJ1dCBhbiBlbnVtZXJhdG9yIHRvIGVudW1lcmF0ZSBhbGwg Y29tYmluYXRpb25zLg0KDQpgYGBydWJ5DQpwcm9kdWN0ID0gRW51bWVyYXRvci5wcm9kdWN0KDEu LjMsIFsiQSIsICJCIl0pDQpwIHByb2R1Y3QuY2xhc3MgIz0+IEVudW1lcmF0b3INCg0KcHJvZHVj dC5lYWNoIGRvIHxpLCBjfA0KICBwdXRzICIje2l9LSN7Y30iDQplbmQNCg0KPWJlZ2luIG91dHB1 dA0KMS1BDQoxLUINCjItQQ0KMi1CDQozLUENCjMtQg0KPWVuZA0KYGBgDQoNClRoaXMgY2FuIGJl IHVzZWQgdG8gcmVkdWNlIG5lc3RlZCBibG9ja3MgYW5kIGFsbG93cyBmb3IgaXRlcmF0aW5nIG92 ZXIgYW4gaW5kZWZpbml0ZSBudW1iZXIgb2YgZW51bWVyYWJsZSBvYmplY3RzLg0KDQojIyBJbXBs ZW1lbnRhdGlvbiBub3Rlcw0KDQotIEl0IHNob3VsZCBpbnRlcm5hbGx5IHVzZSBgZWFjaF9lbnRy eWAgaW5zdGVhZCBvZiBgZWFjaGAgb24gZW51bWVyYWJsZSBvYmplY3RzIHRvIG1ha2Ugc3VyZSB0 byBjYXB0dXJlIGFsbCB5aWVsZGVkIGFyZ3VtZW50cy4NCi0gSWYgbm8gZW51bWVyYWJsZSBvYmpl Y3QgaXMgZ2l2ZW4sIHRoZSBibG9jayBpcyBjYWxsZWQgb25jZSB3aXRoIG5vIGFyZ3VtZW50Lg0K LSBJdCBzaG91bGQgcmVqZWN0IGEga2V5d29yZC1zdHlsZSBoYXNoIGFyZ3VtZW50IHNvIHdlIGNh biBhZGQga2V5d29yZCBhcmd1bWVudHMgaW4gdGhlIGZ1dHVyZSB3aXRob3V0IGJyZWFraW5nIGV4 aXN0aW5nIGNvZGUuDQotIEhlcmUncyBhbiBleGFtcGxlIGltcGxlbWVudGF0aW9uOg0KDQogIGBg YHJ1YnkNCiAgIyBjYWxsLXNlcToNCiAgIyAgIEVudW1lcmF0b3IucHJvZHVjdCgqZW51bXMpICAg ICAgICAgICAgICAgICAgIC0+IGVudW0NCiAgIyAgIEVudW1lcmF0b3IucHJvZHVjdCgqZW51bXMp IHsgfCphcmdzfCBibG9jayB9IC0+IHJldHVybiB2YWx1ZSBvZiBhcmdzWzBdLmVhY2hfZW50cnkg e30NCiAgZGVmIEVudW1lcmF0b3IucHJvZHVjdCgqZW51bXMsICoqbmlsLCAmYmxvY2spDQogICAj IFRPRE86IHNpemUgc2hvdWxkIGJlIGNhbGN1bGF0ZWQgaWYgcG9zc2libGUNCiAgICByZXR1cm4g dG9fZW51bShfX21ldGhvZF9fLCAqZW51bXMpIGlmIGJsb2NrLm5pbD8NCg0KICAgIGVudW1zLnJl dmVyc2UucmVkdWNlKGJsb2NrKSB7IHxpbm5lciwgZW51bXwNCiAgICAgIC0+KCp2YWx1ZXMpIHsN CiAgICAgICAgZW51bS5lYWNoX2VudHJ5IHsgfHZhbHVlfA0KICAgICAgICAgIGlubmVyLmNhbGwo KnZhbHVlcywgdmFsdWUpDQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9LmNhbGwoKQ0KICBlbmQN CiAgYGBgDQoNCi0gTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggYEVudW1lcmF0b3IucHJvZHVjZWAu IPCfmJ0NCg0KIyMgUHJpb3IgY2FzZQ0KLSBQeXRob246IGh0dHBzOi8vZG9jcy5weXRob24ub3Jn LzMvbGlicmFyeS9pdGVydG9vbHMuaHRtbCNpdGVydG9vbHMucHJvZHVjdA0KDQoNCg0KDQotLSAN Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0K