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 EB8D21F4D7 for ; Sat, 23 Apr 2022 19:26:30 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 83DD4120D73; Sun, 24 Apr 2022 04:26:26 +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 05F89120B9C for ; Sun, 24 Apr 2022 04:26:23 +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=tFfT4yj5ze71i+ldHnd0XdZJpB3AT/v0iiCyP+jKch0=; b=tyKRM60Db/CL84OpSU0wc8X2AfkO+p4gKjTXD6yR8wZizShO6suCKUbTWq5mTBxN4qFt 8lVZnAXXlkuxPYQnZucFwtwhNunIBVytDcoGiX9EYxsE/1zFbkvtosI0sciOuL8Lt2EyL+ R/Vih1iiV7pQWV6tqTpUag+HpY6wZ6JYk= Received: by filterdrecv-canary-86f689cf69-7bt9n with SMTP id filterdrecv-canary-86f689cf69-7bt9n-1-626452D9-C 2022-04-23 19:26:17.20708829 +0000 UTC m=+1460476.923121199 Received: from herokuapp.com (unknown) by geopod-ismtpd-5-3 (SG) with ESMTP id 7BDi-ISLSH2nckG8qXpe2w for ; Sat, 23 Apr 2022 19:26:17.163 +0000 (UTC) Date: Sat, 23 Apr 2022 19:26:17 +0000 (UTC) From: "shan (Shannon Skipper)" 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: shan 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: 84754 X-SG-EID: =?us-ascii?Q?75EZ37K5DWIA3khlUgwiUqFZapWeNeFPbCKSft5nqM8Ukf1u76GZd6fwbcKnXb?= =?us-ascii?Q?z3946EG7KeRlNJ4MLYhD8f33ATiVBOJC5yUG6Hm?= =?us-ascii?Q?xqfBX7VJ7Y9w8pJI0I1+bEez=2FCOvEJYjrbt+tda?= =?us-ascii?Q?zrf=2F8+bQnBk0ytnGcbgjBS5zgPXIms+oPa4ZGXc?= =?us-ascii?Q?gstqJAn8X7Ra5U5lBW8oM+9pKhgFNUgB6A6jiHO?= =?us-ascii?Q?wzB9hYpPmsDpdy8eMe3Pa=2FIqgUocIZ7o=2Fec=2FGXk?= =?us-ascii?Q?E1U15Pm2HkQ7Pd98eQWpA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108387 Subject: [ruby-core:108387] [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" SXNzdWUgIzE4Njg1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hhbiAoU2hhbm5vbiBTa2lwcGVyKS4N Cg0KDQpJdCBtaWdodCBhbHNvIGJlIG5pY2UgdG8gcmVxdWlyZSBhdCBsZWFzdCBvbmUgYGVudW1g IGFyZ3VtZW50LCBzaW5jZSBgRW51bWVyYXRvci5wcm9kdWN0ICM9PiBbbmlsXWAgc2VlbXMgYSBi aXQgb2RkLiBIZXJlJ3MgYSBzdGFiIGF0IGxhenkgc2l6ZToNCg0KYGBgIHJ1YnkNCmRlZiBFbnVt ZXJhdG9yLnByb2R1Y3QoKmVudW1zLCAqKm5pbCwgJmJsb2NrKQ0KICByYWlzZSBBcmd1bWVudEVy cm9yLCAnd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyAoZ2l2ZW4gMCwgZXhwZWN0ZWQgMS4uKScg aWYgZW51bXMuZW1wdHk/DQoNCiAgdW5sZXNzIGJsb2NrX2dpdmVuPw0KICAgIHJldHVybiB0b19l bnVtKF9fbWV0aG9kX18sICplbnVtcykgZG8NCiAgICAgIGVudW1zLnJlZHVjZSgxKSBkbyB8YWNj LCBlbnVtfA0KICAgICAgICBlbnVtX3NpemUgPSBlbnVtLnNpemUNCiAgICAgICAgYnJlYWsgdW5s ZXNzIGVudW1fc2l6ZQ0KDQogICAgICAgIGFjYyAqIGVudW1fc2l6ZQ0KICAgICAgZW5kDQogICAg ZW5kDQogIGVuZA0KDQogIGVudW1zLnJldmVyc2UucmVkdWNlKGJsb2NrKSBkbyB8aW5uZXIsIGVu dW18DQogICAgbGFtYmRhIGRvIHwqdmFsdWVzfA0KICAgICAgZW51bS5lYWNoX2VudHJ5IGRvIHx2 YWx1ZXwNCiAgICAgICAgaW5uZXIuY2FsbCgqdmFsdWVzLCB2YWx1ZSkNCiAgICAgIGVuZA0KICAg IGVuZA0KICBlbmQuY2FsbA0KZW5kDQpgYGANCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMxODY4NTogRW51bWVyYXRvci5wcm9kdWN0OiBDYXJ0 ZXNpYW4gcHJvZHVjdCBvZiBlbnVtZXJhYmxlcw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzE4Njg1I2NoYW5nZS05NzQyMQ0KDQoqIEF1dGhvcjoga251IChBa2lub3JpIE1VU0hB KQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KKiBUYXJnZXQgdmVyc2lvbjog My4yDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJJ2QgbGlrZSB0 byBhZGQgYSBuZXcgRW51bWVyYXRvciBjbGFzcyBtZXRob2QgZm9yIGdlbmVyYXRpbmcgdGhlIENh cnRlc2lhbiBwcm9kdWN0IG9mIGdpdmVuIGVudW1lcmF0b3JzLg0KQSBwcm9kdWN0IGhlcmUgZG9l cyBub3QgbWVhbiBhbiBhY2N1bXVsYXRlZCBhcnJheSBvZiBhcnJheXMsIGJ1dCBhbiBlbnVtZXJh dG9yIHRvIGVudW1lcmF0ZSBhbGwgY29tYmluYXRpb25zLg0KDQpgYGBydWJ5DQpwcm9kdWN0ID0g RW51bWVyYXRvci5wcm9kdWN0KDEuLjMsIFsiQSIsICJCIl0pDQpwIHByb2R1Y3QuY2xhc3MgIz0+ IEVudW1lcmF0b3INCg0KcHJvZHVjdC5lYWNoIGRvIHxpLCBjfA0KICBwdXRzICIje2l9LSN7Y30i DQplbmQNCg0KPWJlZ2luIG91dHB1dA0KMS1BDQoxLUINCjItQQ0KMi1CDQozLUENCjMtQg0KPWVu ZA0KYGBgDQoNClRoaXMgY2FuIGJlIHVzZWQgdG8gcmVkdWNlIG5lc3RlZCBibG9ja3MgYW5kIGFs bG93cyBmb3IgaXRlcmF0aW5nIG92ZXIgYW4gaW5kZWZpbml0ZSBudW1iZXIgb2YgZW51bWVyYWJs ZSBvYmplY3RzLg0KDQojIyBJbXBsZW1lbnRhdGlvbiBub3Rlcw0KDQotIEl0IHNob3VsZCBpbnRl cm5hbGx5IHVzZSBgZWFjaF9lbnRyeWAgaW5zdGVhZCBvZiBgZWFjaGAgb24gZW51bWVyYWJsZSBv YmplY3RzIHRvIG1ha2Ugc3VyZSB0byBjYXB0dXJlIGFsbCB5aWVsZGVkIGFyZ3VtZW50cy4NCi0g SWYgbm8gZW51bWVyYWJsZSBvYmplY3QgaXMgZ2l2ZW4sIHRoZSBibG9jayBpcyBjYWxsZWQgb25j ZSB3aXRoIG5vIGFyZ3VtZW50Lg0KLSBJdCBzaG91bGQgcmVqZWN0IGEga2V5d29yZC1zdHlsZSBo YXNoIGFyZ3VtZW50IHNvIHdlIGNhbiBhZGQga2V5d29yZCBhcmd1bWVudHMgaW4gdGhlIGZ1dHVy ZSB3aXRob3V0IGJyZWFraW5nIGV4aXN0aW5nIGNvZGUuDQotIEhlcmUncyBhbiBleGFtcGxlIGlt cGxlbWVudGF0aW9uOg0KDQogIGBgYHJ1YnkNCiAgIyBjYWxsLXNlcToNCiAgIyAgIEVudW1lcmF0 b3IucHJvZHVjdCgqZW51bXMpICAgICAgICAgICAgICAgICAgIC0+IGVudW0NCiAgIyAgIEVudW1l cmF0b3IucHJvZHVjdCgqZW51bXMpIHsgfCphcmdzfCBibG9jayB9IC0+IHJldHVybiB2YWx1ZSBv ZiBhcmdzWzBdLmVhY2hfZW50cnkge30NCiAgZGVmIEVudW1lcmF0b3IucHJvZHVjdCgqZW51bXMs ICoqbmlsLCAmYmxvY2spDQogICAjIFRPRE86IHNpemUgc2hvdWxkIGJlIGNhbGN1bGF0ZWQgaWYg cG9zc2libGUNCiAgICByZXR1cm4gdG9fZW51bShfX21ldGhvZF9fLCAqZW51bXMpIGlmIGJsb2Nr Lm5pbD8NCg0KICAgIGVudW1zLnJldmVyc2UucmVkdWNlKGJsb2NrKSB7IHxpbm5lciwgZW51bXwN CiAgICAgIC0+KCp2YWx1ZXMpIHsNCiAgICAgICAgZW51bS5lYWNoX2VudHJ5IHsgfHZhbHVlfA0K ICAgICAgICAgIGlubmVyLmNhbGwoKnZhbHVlcywgdmFsdWUpDQogICAgICAgIH0NCiAgICAgIH0N CiAgICB9LmNhbGwoKQ0KICBlbmQNCiAgYGBgDQoNCi0gTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGgg YEVudW1lcmF0b3IucHJvZHVjZWAuIPCfmJ0NCg0KIyMgUHJpb3IgY2FzZQ0KLSBQeXRob246IGh0 dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9pdGVydG9vbHMuaHRtbCNpdGVydG9vbHMu cHJvZHVjdA0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0K