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 84E421F4D7 for ; Sun, 24 Apr 2022 02:37:09 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id AC9ED120B5C; Sun, 24 Apr 2022 11:37:00 +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 2FD0D120DE7 for ; Sun, 24 Apr 2022 11:36:58 +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=6ZktcYyTQYmkEhn2aoY/Y/GU7NfCMCHCyMEjTw7EiaQ=; b=pD3/MV4PVT4sGDm1hBiAdhzpCq+DJlNWO0l3URJkgBJafWa0x5hpK/lAABU2bjkyxnWd R06IodnRO8sCzAcJGXzLO2WPVHZhzEsM05T9tfxHkEGm9FQfzKWniRZA1vCo7wC4IXqkUv YRzJaa/h9qKP9BKv8Y3wEXSKcyBjKZdnI= Received: by filterdrecv-57fb89798f-f2t2x with SMTP id filterdrecv-57fb89798f-f2t2x-1-6264B7C6-6 2022-04-24 02:36:54.615151445 +0000 UTC m=+1486392.008697716 Received: from herokuapp.com (unknown) by geopod-ismtpd-5-3 (SG) with ESMTP id HbCvfoSfQSuSRkIEQMkW9A for ; Sun, 24 Apr 2022 02:36:54.564 +0000 (UTC) Date: Sun, 24 Apr 2022 02:36:54 +0000 (UTC) From: "knu (Akinori MUSHA)" 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: knu 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: 84755 X-SG-EID: =?us-ascii?Q?OfuCcQLTUeSkgvg2zt7WGolyX0xr4xICUddkcqMptxz7TOYwO=2Fom5us72hswHt?= =?us-ascii?Q?SryUsdfD8mWRXeiIT8WvFoFQe44AGEToR5E7VVq?= =?us-ascii?Q?48PtZW9q96Xk+J0pjVHfQcaeUIQOdsKhfl4n5HE?= =?us-ascii?Q?ta6jy=2F8rnLJntvzOsNK0I6APKhVEl0loRfvFcOi?= =?us-ascii?Q?ho5=2FYFf+RqFoK=2FQRT8R+pYP135RSELOt+VS8Co3?= =?us-ascii?Q?4n2VGlSmMzuVogMpsoyLdl8gADJfStT3MvG3efa?= =?us-ascii?Q?87yPk91fBm6vykxqr4PMQ=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108388 Subject: [ruby-core:108388] [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" SXNzdWUgIzE4Njg1IGhhcyBiZWVuIHVwZGF0ZWQgYnkga251IChBa2lub3JpIE1VU0hBKS4NCg0K DQpUaGF0J3MgYWN0dWFsbHkgbm90IGEgbWF0aGVtYXRpY2FsIGlkZWEuICBUaGUgMC1hcnkgQ2Fy dGVzaWFuIHByb2R1Y3Qgb2Ygc2V0cyBzaG91bGQgYmUgZGVmaW5lZCBhcyBhIHNpbmdsZXRvbiBz ZXQgZm9yIHRoZW9yZXRpY2FsIGFuZCBwcmFjdGljYWwgcmVhc29ucy4gIEl0J3MganVzdCBsaWtl IDJeMCBlcXVhbHMgdG8gMS4NCg0KUHl0aG9uJ3MgaXRlcnRvb2xzLnByb2R1Y3QgYWxpZ25zIHdp dGggdGhpcyB0aGVvcnkuDQoNCmBgYHB5dGhvbg0KaW1wb3J0IGl0ZXJ0b29scw0KDQpmb3IgaSBp biBpdGVydG9vbHMucHJvZHVjdChyYW5nZSgzKSwgcmFuZ2UoMykpOg0KICBwcmludCgiMi1hcnk6 ICIgKyByZXByKGkpKQ0KDQpmb3IgaSBpbiBpdGVydG9vbHMucHJvZHVjdChyYW5nZSgzKSk6DQog IHByaW50KCIxLWFyeTogIiArIHJlcHIoaSkpDQoNCmZvciBpIGluIGl0ZXJ0b29scy5wcm9kdWN0 KCk6DQogIHByaW50KCIwLWFyeTogIiArIHJlcHIoaSkpDQpgYGANCk91dHB1dDoNCmBgYA0KMi1h cnk6ICgwLCAwKQ0KMi1hcnk6ICgwLCAxKQ0KMi1hcnk6ICgwLCAyKQ0KMi1hcnk6ICgxLCAwKQ0K Mi1hcnk6ICgxLCAxKQ0KMi1hcnk6ICgxLCAyKQ0KMi1hcnk6ICgyLCAwKQ0KMi1hcnk6ICgyLCAx KQ0KMi1hcnk6ICgyLCAyKQ0KMS1hcnk6ICgwLCkNCjEtYXJ5OiAoMSwpDQoxLWFyeTogKDIsKQ0K MC1hcnk6ICgpDQpgYGANCg0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KRmVhdHVyZSAjMTg2ODU6IEVudW1lcmF0b3IucHJvZHVjdDogQ2FydGVzaWFuIHBy b2R1Y3Qgb2YgZW51bWVyYWJsZXMNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8x ODY4NSNjaGFuZ2UtOTc0MjINCg0KKiBBdXRob3I6IGtudSAoQWtpbm9yaSBNVVNIQSkNCiogU3Rh dHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwNCiogVGFyZ2V0IHZlcnNpb246IDMuMg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSSdkIGxpa2UgdG8gYWRkIGEg bmV3IEVudW1lcmF0b3IgY2xhc3MgbWV0aG9kIGZvciBnZW5lcmF0aW5nIHRoZSBDYXJ0ZXNpYW4g cHJvZHVjdCBvZiBnaXZlbiBlbnVtZXJhdG9ycy4NCkEgcHJvZHVjdCBoZXJlIGRvZXMgbm90IG1l YW4gYW4gYWNjdW11bGF0ZWQgYXJyYXkgb2YgYXJyYXlzLCBidXQgYW4gZW51bWVyYXRvciB0byBl bnVtZXJhdGUgYWxsIGNvbWJpbmF0aW9ucy4NCg0KYGBgcnVieQ0KcHJvZHVjdCA9IEVudW1lcmF0 b3IucHJvZHVjdCgxLi4zLCBbIkEiLCAiQiJdKQ0KcCBwcm9kdWN0LmNsYXNzICM9PiBFbnVtZXJh dG9yDQoNCnByb2R1Y3QuZWFjaCBkbyB8aSwgY3wNCiAgcHV0cyAiI3tpfS0je2N9Ig0KZW5kDQoN Cj1iZWdpbiBvdXRwdXQNCjEtQQ0KMS1CDQoyLUENCjItQg0KMy1BDQozLUINCj1lbmQNCmBgYA0K DQpUaGlzIGNhbiBiZSB1c2VkIHRvIHJlZHVjZSBuZXN0ZWQgYmxvY2tzIGFuZCBhbGxvd3MgZm9y IGl0ZXJhdGluZyBvdmVyIGFuIGluZGVmaW5pdGUgbnVtYmVyIG9mIGVudW1lcmFibGUgb2JqZWN0 cy4NCg0KIyMgSW1wbGVtZW50YXRpb24gbm90ZXMNCg0KLSBJdCBzaG91bGQgaW50ZXJuYWxseSB1 c2UgYGVhY2hfZW50cnlgIGluc3RlYWQgb2YgYGVhY2hgIG9uIGVudW1lcmFibGUgb2JqZWN0cyB0 byBtYWtlIHN1cmUgdG8gY2FwdHVyZSBhbGwgeWllbGRlZCBhcmd1bWVudHMuDQotIElmIG5vIGVu dW1lcmFibGUgb2JqZWN0IGlzIGdpdmVuLCB0aGUgYmxvY2sgaXMgY2FsbGVkIG9uY2Ugd2l0aCBu byBhcmd1bWVudC4NCi0gSXQgc2hvdWxkIHJlamVjdCBhIGtleXdvcmQtc3R5bGUgaGFzaCBhcmd1 bWVudCBzbyB3ZSBjYW4gYWRkIGtleXdvcmQgYXJndW1lbnRzIGluIHRoZSBmdXR1cmUgd2l0aG91 dCBicmVha2luZyBleGlzdGluZyBjb2RlLg0KLSBIZXJlJ3MgYW4gZXhhbXBsZSBpbXBsZW1lbnRh dGlvbjoNCg0KICBgYGBydWJ5DQogICMgY2FsbC1zZXE6DQogICMgICBFbnVtZXJhdG9yLnByb2R1 Y3QoKmVudW1zKSAgICAgICAgICAgICAgICAgICAtPiBlbnVtDQogICMgICBFbnVtZXJhdG9yLnBy b2R1Y3QoKmVudW1zKSB7IHwqYXJnc3wgYmxvY2sgfSAtPiByZXR1cm4gdmFsdWUgb2YgYXJnc1sw XS5lYWNoX2VudHJ5IHt9DQogIGRlZiBFbnVtZXJhdG9yLnByb2R1Y3QoKmVudW1zLCAqKm5pbCwg JmJsb2NrKQ0KICAgIyBUT0RPOiBzaXplIHNob3VsZCBiZSBjYWxjdWxhdGVkIGlmIHBvc3NpYmxl DQogICAgcmV0dXJuIHRvX2VudW0oX19tZXRob2RfXywgKmVudW1zKSBpZiBibG9jay5uaWw/DQoN CiAgICBlbnVtcy5yZXZlcnNlLnJlZHVjZShibG9jaykgeyB8aW5uZXIsIGVudW18DQogICAgICAt PigqdmFsdWVzKSB7DQogICAgICAgIGVudW0uZWFjaF9lbnRyeSB7IHx2YWx1ZXwNCiAgICAgICAg ICBpbm5lci5jYWxsKCp2YWx1ZXMsIHZhbHVlKQ0KICAgICAgICB9DQogICAgICB9DQogICAgfS5j YWxsKCkNCiAgZW5kDQogIGBgYA0KDQotIE5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGBFbnVtZXJh dG9yLnByb2R1Y2VgLiDwn5idDQoNCiMjIFByaW9yIGNhc2UNCi0gUHl0aG9uOiBodHRwczovL2Rv Y3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvaXRlcnRvb2xzLmh0bWwjaXRlcnRvb2xzLnByb2R1Y3QN Cg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCg==