[ruby-core:122863] [Ruby Feature#21520] Feature Proposal: Enumerator::Lazy#peek
From:
"nuzair46 (Nuzair Rasheed) via ruby-core" <ruby-core@...>
Date:
2025-07-25 03:31:13 UTC
List:
ruby-core #122863
SXNzdWUgIzIxNTIwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbnV6YWlyNDYgKE51emFpciBSYXNoZWVk KS4NCg0KDQpEYW4wMDQyIChEYW5pZWwgRGVMb3JtZSkgd3JvdGUgaW4gI25vdGUtMjoNCj4gI3Bl ZWsgYWxyZWFkeSBleGlzdHMsIGFuZCBkb2VzIHNvbWV0aGluZyBkaWZmZXJlbnQuDQoNCkhleSwg RW51bWVyYXRvciNwZWVrIGV4aXN0cy4gYnV0IEVudW1lcmF0b3I6OkxhenkjcGVlayBkb2VzIG5v dC4NCkVudW1lcmF0b3IjcGVlayBbd29ya3MgZGlmZmVyZW50bHldKGh0dHBzOi8vZG9jcy5ydWJ5 LWxhbmcub3JnL2phL2xhdGVzdC9tZXRob2QvRW51bWVyYXRvci9pL3BlZWsuaHRtbCkgdGhhbiB0 aGlzIHN1Z2dlc3Rpb24uIA0KU28gbWF5YmUgdGhlIG5hbWluZyB3aWxsIGJlIGNvbmZ1c2luZy4N Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjE1 MjA6IEZlYXR1cmUgUHJvcG9zYWw6IEVudW1lcmF0b3I6OkxhenkjcGVlaw0KaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIxNTIwI2NoYW5nZS0xMTQxNTUNCg0KKiBBdXRob3I6IG51 emFpcjQ2IChOdXphaXIgUmFzaGVlZCkNCiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEFic3RyYWN0DQoNCkFkZCBhICNwZWVrIG1ldGhv ZCB0byBFbnVtZXJhdG9yOjpMYXp5IHRoYXQgYWxsb3dzIG9ic2VydmluZyBlYWNoIGVsZW1lbnQg aW4gYSBsYXp5IGVudW1lcmF0aW9uIHBpcGVsaW5lIHdpdGhvdXQgbW9kaWZ5aW5nIG9yIGNvbnN1 bWluZyB0aGUgc3RyZWFtLg0KDQojIEJhY2tncm91bmQNCg0KUnVieSBwcm92aWRlcyBFbnVtZXJh dG9yOjpMYXp5IGZvciBlZmZpY2llbnQgbGF6eSBzdHJlYW0gcHJvY2Vzc2luZy4gSG93ZXZlciwg dW5saWtlIGxhbmd1YWdlcyBzdWNoIGFzIEphdmEsIGl0IGxhY2tzIGEgY2xlYW4gd2F5IHRvIGlu c3BlY3QgaW50ZXJtZWRpYXRlIGVsZW1lbnRzIGR1cmluZyBsYXp5IGV2YWx1YXRpb24uDQoNCkN1 cnJlbnRseSwgZGV2ZWxvcGVycyBtdXN0IG1pc3VzZSAubWFwIGZvciBzaWRlIGVmZmVjdHMsIGV4 YW1wbGU6DQpgYGByYg0KKDEuLikubGF6eS5tYXAgeyB8eHwgcHV0cyB4OyB4IH0uc2VsZWN0KCY6 ZXZlbj8pLmZpcnN0KDMpDQpgYGANClRoaXMgaXMgc2VtYW50aWNhbGx5IGluY29ycmVjdCBhbmQg Y29uZnVzaW5nLCBzaW5jZSAubWFwIGltcGxpZXMgdHJhbnNmb3JtYXRpb24sIG5vdCBvYnNlcnZh dGlvbi4NCg0KIyBQcm9wb3NhbA0KDQpJbnRyb2R1Y2UgRW51bWVyYXRvcjo6TGF6eSNwZWVrLCB3 aGljaCB5aWVsZHMgZWFjaCBpdGVtIHRvIGEgYmxvY2sgYW5kIHJldHVybnMgdGhlIGl0ZW0gdW5t b2RpZmllZCwgc2ltaWxhciB0byBPYmplY3QjdGFwLCBidXQgaW4gYSBsYXp5IHN0cmVhbToNCmBg YHJiDQooMS4uKS5sYXp5DQogICAgIC5wZWVrIHsgfHh8IHB1dHMgInNhdzogI3t4fSIgfQ0KICAg ICAuc2VsZWN0KCY6ZXZlbj8pDQogICAgIC5maXJzdCgzKQ0KYGBgDQoNClRoaXMgd291bGQgYmUg ZXF1aXZhbGVudCB0bzoNCmBgYHJiDQpsYXp5Lm1hcCB7IHx4fCBibG9jay5jYWxsKHgpOyB4IH0N CmBgYA0KYnV0IHdpdGggaW1wcm92ZWQgc2VtYW50aWMgY2xhcml0eS4NCg0KIyBVc2UgY2FzZXMN Cg0K4oCiIERlYnVnZ2luZyBsYXp5IGVudW1lcmF0b3JzIHdpdGhvdXQgYnJlYWtpbmcgdGhlIGNo YWluDQrigKIgTG9nZ2luZyBvciBpbnN0cnVtZW50YXRpb24gaW4gcGlwZWxpbmVzDQrigKIgRWR1 Y2F0aW9uYWwgLyBkZW1vIHVzZSBmb3Igc2hvd2luZyBsYXp5IGV2YWx1YXRpb24gc3RlcC1ieS1z dGVwDQrigKIgQ2xlYW5lciByZXBsYWNlbWVudCBmb3IgbWFwIHsgcHV0cyB4OyB4IH0gaGFja3MN Cg0KRXhhbXBsZToNCg0KYGBgcmINCmRhdGEgPSAoMS4uKS5sYXp5DQogICAgICAgICAgICAucGVl ayB7IHx4fCBwdXRzICJnb3QgI3t4fSIgfQ0KICAgICAgICAgICAgLnNlbGVjdCgmOmV2ZW4/KQ0K ICAgICAgICAgICAgLmZpcnN0KDUpDQpgYGANCnJlc3VsdDoNCmBgYHJiDQpnb3QgMQ0KZ290IDIN CmdvdCAzDQpnb3QgNA0KZ290IDUNCi4uLg0KZ290IDEwDQpgYGANCkFuZCByZXR1cm4gWzIsIDQs IDYsIDgsIDEwXQ0KDQojIERpc2N1c3Npb24NCg0KI3BlZWsgaXMgYSBtaW5pbWFsLCBub24tYnJl YWtpbmcgYWRkaXRpb24gdGhhdCBpbXByb3ZlcyBjbGFyaXR5IGFuZCBpZGlvbWF0aWMgdXNhZ2Ug b2YgRW51bWVyYXRvcjo6TGF6eS4gSXQgYXZvaWRzIGFidXNpbmcgLm1hcCBmb3Igb2JzZXJ2YXRp b24gYW5kIGlzIGZhbWlsaWFyIHRvIGRldmVsb3BlcnMgZnJvbSBvdGhlciBsYW5ndWFnZXMuICNw ZWVrIGlzIGFsc28gbm90IG5lZWRlZCBmb3Igb3RoZXIgZW51bWVyYXRvcnMgd2hlcmUgLnRhcCBv ciAuZWFjaCBjYW4gZG8gdGhlIGpvYi4NCg0KSXQgbWlycm9ycyBKYXZh4oCZcyAuc3RyZWFtKCku cGVlayguLi4pIGFuZCBtYWtlcyBSdWJ54oCZcyBsYXp5IGVudW1lcmF0aW9uIG1vcmUgZXhwcmVz c2l2ZSBhbmQgcmVhZGFibGUuDQoNCiMgU2VlIGFsc28NCuKAoiBbSmF2YSBTdHJlYW0ucGVla10o aHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vamF2YXNlLzgvZG9jcy9hcGkvamF2YS91dGlsL3N0cmVh bS9TdHJlYW0uaHRtbCNwZWVrLWphdmEudXRpbC5mdW5jdGlvbi5Db25zdW1lci0pDQoNCkkgd291 bGQgYmUgZ2xhZCB0byB3b3JrIG9uIHRoaXMgYW5kIG1ha2UgYSBQUi4gVGhhbmsgeW91Lg0KDQoN Cg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBy dWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0 byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0 cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxh bmcub3JnLwo=