llvm-project icon indicating copy to clipboard operation
llvm-project copied to clipboard

[libc++][ranges] Implement `ranges::stride_view`.

Open hawkinsw opened this issue 2 years ago • 23 comments

Implement ranges::stride_view in libc++. Migrating to this GitHub from Phabricator (https://reviews.llvm.org/D156924).

Closes #105198

hawkinsw avatar Sep 02 '23 06:09 hawkinsw

Thank you all for the feedback on this work. I am really excited to get to participate. As I said, I have committed small amounts of code in the past but this is my first attempt at doing a significant amount of implementation. I have already learned a ton and look forward to learning more!

hawkinsw avatar Sep 02 '23 23:09 hawkinsw

I just used a fixup! commit to add some additional code. I followed the new best practices and I hope that I did it correctly. Please let me know if I did not follow the instructions properly!

hawkinsw avatar Sep 04 '23 14:09 hawkinsw

I know how busy you all must be with the transition to GitHub. I am going to continue to work on writing tests and look forward to any feedback you have!

hawkinsw avatar Sep 07 '23 00:09 hawkinsw

Removed the WIP tag (and added an amend fixup commit to accomplish the same thing with in the git realm). I can't wait to hear how I can improve the implementation!!

Will

hawkinsw avatar Sep 11 '23 21:09 hawkinsw

@JMazurkiewicz Thank you for your incredibly helpful comments. I have a few things to do at $dayjob but I will address them as soon as possible. Thank you again for taking the time to comment.

hawkinsw avatar Sep 13 '23 21:09 hawkinsw

Hello again and sorry to bother. I would love to make any changes to the implementation that you think are necessary. I have really enjoyed the opportunity to implement stride_view and I have already started on slide_view!

hawkinsw avatar Sep 22 '23 19:09 hawkinsw

Hello again and sorry to bother. I would love to make any changes to the implementation that you think are necessary. I have really enjoyed the opportunity to implement stride_view and I have already started on slide_view!

Please update the status page and any papers: libcxx/docs/Status/RangesViews.csv Also this PR needs a lot more tests.

Zingam avatar Sep 29 '23 05:09 Zingam

Hello again and sorry to bother. I would love to make any changes to the implementation that you think are necessary. I have really enjoyed the opportunity to implement stride_view and I have already started on slide_view!

Please update the status page and any papers: libcxx/docs/Status/RangesViews.csv Also this PR needs a lot more tests.

Thank you for the feedback! Are you asking for an update to remove you as an implementer? Refer to the this URL for the PR? I believe that the paper listed in the CSV is the right one? I am sorry if I am missing something obvious.

hawkinsw avatar Sep 29 '23 06:09 hawkinsw

Thank you for the feedback! Are you asking for an update to remove you as an implementer? Refer to the this URL for the PR? I believe that the paper listed in the CSV is the right one? I am sorry if I am missing something obvious.

Please change the URL to point to this PR, also mark which papers this PR implements as complete. You probably need to add the paper to the release notes, when this PR is approved.

Zingam avatar Sep 30 '23 14:09 Zingam

:white_check_mark: With the latest revision this PR passed the C/C++ code formatter.

github-actions[bot] avatar Oct 06 '23 12:10 github-actions[bot]

I continue to work on making the testing code better (I am learning from other testing code, too) but I believe that I have addressed all the feedback so far! I actually addressed it all last week but realized that I did not "rerequest review". I hope you didn't get the impression that I was slacking.

hawkinsw avatar Jan 24 '24 15:01 hawkinsw

Please let me know if there are other comments!

hawkinsw avatar Mar 05 '24 17:03 hawkinsw

Please let me know if there are other comments!

hawkinsw avatar Mar 19 '24 05:03 hawkinsw

Just let me know if/how to proceed.

hawkinsw avatar Apr 11 '24 22:04 hawkinsw

I hope that everyone is doing well. I am more than willing to continue to work on this PR if there is interest.

Will

hawkinsw avatar Apr 18 '24 02:04 hawkinsw

I hope that everyone is doing well. I am more than willing to continue to work on this PR if there is interest.

Since this is a feature we haven't implemented yet, I really like to see this completed!

I see there are several merge conflicts and the CI is red. Could you resolve that?

mordante avatar Apr 18 '24 15:04 mordante

I hope that everyone is doing well. I am more than willing to continue to work on this PR if there is interest.

Since this is a feature we haven't implemented yet, I really like to see this completed!

I see there are several merge conflicts and the CI is red. Could you resolve that?

Sorry. Because I was waiting on feedback I let the code drift from main. I have rebased and addressed merge conflicts. I have talked to @var-const about reviews for this PR and I know that he is very busy so I do not want to pressure him at all.

Will

hawkinsw avatar May 04 '24 04:05 hawkinsw

@mordante I have CI/CD green but see that a conflict has slipped in again. I will update that ASAP while we wait for another round of review from @var-const !

hawkinsw avatar May 07 '24 16:05 hawkinsw

There are a few .verify.cpp tests in this change, but none (or almost all) don't actually test compiler diagnostics.

They should probably be made .compile.cpp tests, since they just contain static asserts.

Thank you for the comments! I made those .verify.cpp tests based on @var-const 's feedback in https://github.com/llvm/llvm-project/pull/65200#discussion_r1387338157 . I am happy to make them either, but I am just confused about best practices.

hawkinsw avatar May 10 '24 02:05 hawkinsw

@hawkinsw Is this PR ready for another round of review? I'd really like to finish this one since it has been around for a while.

ldionne avatar Sep 10 '24 13:09 ldionne

@hawkinsw Is this PR ready for another round of review? I'd really like to finish this one since it has been around for a while.

We are getting there. I did some pretty good refactoring of the test cases last night. I should have more time to work on it tonight. I am going as fast as I can. Sorry! Will

hawkinsw avatar Sep 10 '24 17:09 hawkinsw

@hawkinsw thanks so much for your hard work!

splicer avatar Oct 24 '24 14:10 splicer

@hawkinsw thanks so much for your hard work!

Wow, you have no idea what that means to me, @splicer! Thank you!!

hawkinsw avatar Oct 24 '24 21:10 hawkinsw

Is this still relevant?

arsenm avatar Apr 02 '25 14:04 arsenm

Is this still relevant?

Yes!! I just got a little busy with $DAYJOB. Sorry!

hawkinsw avatar Apr 02 '25 14:04 hawkinsw

Just FYI: Things at my $DAYJOB have calmed down and I will be starting to work on this patch again. Sorry for the delay!

hawkinsw avatar May 19 '25 17:05 hawkinsw

Seems like that we can update the branch now to see whether CI becomes green.

frederick-vs-ja avatar Nov 04 '25 02:11 frederick-vs-ja

Will do!!

On Mon, Nov 3, 2025 at 9:33 PM A. Jiang @.***> wrote:

frederick-vs-ja left a comment (llvm/llvm-project#65200) https://github.com/llvm/llvm-project/pull/65200#issuecomment-3483470563

Seems like that we can update the branch now to see whether CI becomes green.

— Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-project/pull/65200#issuecomment-3483470563, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCP2CQUMI2AXEXXEST2A4D33AGA7AVCNFSM6AAAAAA4IM5WHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTIOBTGQ3TANJWGM . You are receiving this because you were mentioned.Message ID: @.***>

hawkinsw avatar Nov 04 '25 03:11 hawkinsw

Thank you for the feedback! I appreciate it. I’m trying to whip it back into shape and I know there has been progress in the meantime.

On Sunday, December 21, 2025, A. Jiang @.***> wrote:

@.**** commented on this pull request.

In libcxx/modules/std/ranges.inc https://github.com/llvm/llvm-project/pull/65200#discussion_r2637976505:

+#endif // _LIBCPP_STD_VER >= 23

+#if 0

⬇️ Suggested change

-#endif // _LIBCPP_STD_VER >= 23

-#if 0

We should remove these lines as adjacent_view has been implemented. Also, adjacent_transform_view has been implemented too.

— Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-project/pull/65200#pullrequestreview-3601841165, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCP2CV325IB2WL7WTMMPT34C3KIDAVCNFSM6AAAAAA4IM5WHCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTMMBRHA2DCMJWGU . You are receiving this because you were mentioned.Message ID: @.***>

hawkinsw avatar Dec 21 '25 21:12 hawkinsw