Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

yronglin (Yurong)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 2 2022, 6:09 AM (56 w, 5 d)

Recent Activity

Mon, Sep 11

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

ping~

Mon, Sep 11, 2:33 AM · Restricted Project, Restricted Project

Wed, Sep 6

yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Rebase

Wed, Sep 6, 7:46 AM · Restricted Project, Restricted Project
yronglin committed rG9f67143be01c: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only… (authored by yronglin).
[libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only…
Wed, Sep 6, 7:39 AM · Restricted Project, Restricted Project
yronglin closed D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).
Wed, Sep 6, 7:39 AM · Restricted Project, Restricted Project
yronglin added a comment to D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).

Thanks for the review! @ldionne

Wed, Sep 6, 7:36 AM · Restricted Project, Restricted Project

Sep 4 2023

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

ping~

Sep 4 2023, 6:56 AM · Restricted Project, Restricted Project

Sep 1 2023

yronglin added a comment to D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct.

Thank you for your review @aaron.ballman @rsmith , I will be happy to continue cook this patch once we reach a consensus.

Sep 1 2023, 7:52 AM · Restricted Project, Restricted Project
yronglin updated the diff for D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct.

Address Aaron's comments.

Sep 1 2023, 7:50 AM · Restricted Project, Restricted Project

Aug 30 2023

yronglin added inline comments to D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow.
Aug 30 2023, 10:36 AM · Restricted Project, Restricted Project
yronglin retitled D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct from [NFC][Clang] Add assertion to check the value of NumSubExprs/ResultIndex does not overflow to [clang] Diagnose overly complex Record in __builtin_dump_struct.
Aug 30 2023, 10:29 AM · Restricted Project, Restricted Project
yronglin updated the diff for D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct.

Addres the comments that we talked in D154784.

Aug 30 2023, 10:25 AM · Restricted Project, Restricted Project

Aug 29 2023

yronglin added a comment to D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).

Thanks for your review @ldionne

Aug 29 2023, 10:16 AM · Restricted Project, Restricted Project
yronglin updated the diff for D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).

Address comments

Aug 29 2023, 10:14 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

friendly ping~

Aug 29 2023, 5:21 AM · Restricted Project, Restricted Project
yronglin added a comment to D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Thanks for your review! @Mordante @philnik

Aug 29 2023, 5:20 AM · Restricted Project, Restricted Project
yronglin committed rG06ef752b7c23: [libc++] Implement LWG3464(istream::gcount() can overflow) (authored by yronglin).
[libc++] Implement LWG3464(istream::gcount() can overflow)
Aug 29 2023, 5:19 AM · Restricted Project, Restricted Project
yronglin closed D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 29 2023, 5:18 AM · Restricted Project, Restricted Project

Aug 26 2023

yronglin added a comment to D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

I have reverted this patch and reopen.

Aug 26 2023, 10:38 PM · Restricted Project, Restricted Project
yronglin reopened D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 26 2023, 10:36 PM · Restricted Project, Restricted Project
yronglin added a reverting change for rGd57fe1dbe050: [libc++] Implement LWG3464(istream::gcount() can overflow): rG2051a4121957: Revert "[libc++] Implement LWG3464(istream::gcount() can overflow)".
Aug 26 2023, 10:36 PM · Restricted Project, Restricted Project
yronglin committed rG2051a4121957: Revert "[libc++] Implement LWG3464(istream::gcount() can overflow)" (authored by yronglin).
Revert "[libc++] Implement LWG3464(istream::gcount() can overflow)"
Aug 26 2023, 10:36 PM · Restricted Project, Restricted Project
yronglin added a reverting change for D158749: [libc++] Implement LWG3464(istream::gcount() can overflow): rG2051a4121957: Revert "[libc++] Implement LWG3464(istream::gcount() can overflow)".
Aug 26 2023, 10:36 PM · Restricted Project, Restricted Project
yronglin added a comment to D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Shouldn't this be possible to actually test? If not, please add a comment why this change was done.

Aug 26 2023, 10:30 PM · Restricted Project, Restricted Project
yronglin committed rGd57fe1dbe050: [libc++] Implement LWG3464(istream::gcount() can overflow) (authored by yronglin).
[libc++] Implement LWG3464(istream::gcount() can overflow)
Aug 26 2023, 8:25 PM · Restricted Project, Restricted Project
yronglin closed D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 26 2023, 8:25 PM · Restricted Project, Restricted Project
yronglin added a comment to D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Many thanks for your review! @Mordante

Aug 26 2023, 3:33 AM · Restricted Project, Restricted Project
yronglin retitled D158749: [libc++] Implement LWG3464(istream::gcount() can overflow) from [WIP][libc++] Implement LWG3464(istream::gcount() can overflow) to [libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 26 2023, 3:31 AM · Restricted Project, Restricted Project
yronglin updated the diff for D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Address comments.

Aug 26 2023, 3:31 AM · Restricted Project, Restricted Project

Aug 25 2023

yronglin updated the diff for D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

Addres comments.

Aug 25 2023, 8:25 PM · Restricted Project, Restricted Project

Aug 24 2023

yronglin retitled D158749: [libc++] Implement LWG3464(istream::gcount() can overflow) from [libc++] Implement LWG3464(istream::gcount() can overflow) to [WIP][libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 24 2023, 10:54 AM · Restricted Project, Restricted Project
yronglin added inline comments to D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow.
Aug 24 2023, 9:40 AM · Restricted Project, Restricted Project
yronglin added a comment to D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).

I'm so sorry that I have no idea how to test stream size overflow in this change now.

Aug 24 2023, 9:26 AM · Restricted Project, Restricted Project
yronglin updated the summary of D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 24 2023, 9:23 AM · Restricted Project, Restricted Project
yronglin requested review of D158749: [libc++] Implement LWG3464(istream::gcount() can overflow).
Aug 24 2023, 9:22 AM · Restricted Project, Restricted Project
yronglin added a comment to D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).

@Mordante Can we propose to use __union_.__val_, std::as_const(__union_.__val_), std::move(__union_.__val_) and std::move(std::as_const(__union_.__val_)) instead of **this ?

std::as_const is unnecessary because the const on the member functions already makes __union_.__val_ a const lvalue.

I think it's better to use the member access expressions instead of **this, because the latter can be ADL-hijacked. (However, this means the current standard wording is less than ideal and an LWG issue may be needed, see also LWG3969).

Aug 24 2023, 6:24 AM · Restricted Project, Restricted Project
yronglin updated the diff for D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).

Address comments

Aug 24 2023, 6:20 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

ping~ @hubert.reinterpretcast @rsmith

Aug 24 2023, 5:31 AM · Restricted Project, Restricted Project

Aug 22 2023

yronglin added a comment to D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).
Aug 22 2023, 9:01 AM · Restricted Project, Restricted Project

Aug 21 2023

yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Address comments

Aug 21 2023, 7:02 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

@cor3ntin Thanks for your review!

Aug 21 2023, 6:04 AM · Restricted Project, Restricted Project

Aug 20 2023

yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Do not spass MaterializePRValueInDiscardStatement in PushExpressionEvaluationContext.

Aug 20 2023, 4:45 PM · Restricted Project, Restricted Project
yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Fix ci

Aug 20 2023, 9:38 AM · Restricted Project, Restricted Project
yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Fix ci failure, and introduce an variable in ExpressionEvaluationContextRecord to rewrite default argument.

Aug 20 2023, 8:35 AM · Restricted Project, Restricted Project
yronglin committed rG96377e5cc1e3: [libc++][expected] Implement LWG3836 (authored by yronglin).
[libc++][expected] Implement LWG3836
Aug 20 2023, 5:19 AM · Restricted Project, Restricted Project
yronglin closed D155701: [libc++][expected] Implement LWG3836.
Aug 20 2023, 5:19 AM · Restricted Project, Restricted Project

Aug 19 2023

yronglin added inline comments to D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow.
Aug 19 2023, 8:42 AM · Restricted Project, Restricted Project
yronglin added inline comments to D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow.
Aug 19 2023, 8:33 AM · Restricted Project, Restricted Project
yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

Thanks a lot for your review! @Mordante

Aug 19 2023, 8:20 AM · Restricted Project, Restricted Project
yronglin updated the diff for D155701: [libc++][expected] Implement LWG3836.

Addres comment.

Aug 19 2023, 8:19 AM · Restricted Project, Restricted Project

Aug 18 2023

yronglin retitled D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct from [Clang] Add assertion to check the value of NumSubExprs/ResultIndex does not overflow to [NFC][Clang] Add assertion to check the value of NumSubExprs/ResultIndex does not overflow.
Aug 18 2023, 10:44 AM · Restricted Project, Restricted Project
yronglin added inline comments to D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow.
Aug 18 2023, 10:43 AM · Restricted Project, Restricted Project
yronglin updated the summary of D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct.
Aug 18 2023, 10:42 AM · Restricted Project, Restricted Project
yronglin requested review of D158296: [clang] Diagnose overly complex Record in __builtin_dump_struct.
Aug 18 2023, 10:40 AM · Restricted Project, Restricted Project

Aug 16 2023

yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

ping~

I've been quite busy. I'll hope to have time to look at this patch and D154116 later this week.

Aug 16 2023, 5:51 PM · Restricted Project, Restricted Project
yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

ping~

Aug 16 2023, 9:45 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

friendly ping~

Aug 16 2023, 9:40 AM · Restricted Project, Restricted Project

Aug 14 2023

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Sorry for the late reply. I tried to investigate the memory impact of creating these additional materializations by build the whole llvm-project and compare the number of MaterializedTemporaryExpr created during parsing.

Steps:

  1. Add a public member uint64_t NumMetarilizedTemporaryExpr = 0; in ASTContext .
  2. Increment the value of NumMetarilizedTemporaryExpr in Sema::CreateMaterializeTemporaryExpr.
  3. Write the NumMetarilizedTemporaryExpr into a text file when ASTContext destruction, each translation unit will append a line to the file to record the value of NumMetarilizedTemporaryExpr .
  4. Build the entire llvm-project separately using the compiler that creates addational materializations and the compiler that doesn't.
  5. Sum the numbers produced by each translation unit.

The result is:

ItemCount
Addational Materialized Temporarys Total50655585
Clang Trunk Total18346347
Diff32309238

The more detail result in https://yronglin.github.io

The gap between these two numbers is very large. So I'think we can create additional materializations only within for-range initializers. I'm not sure if I can find a way to only create materializes for temporaries that need to have an extended lifetime, WDYT?

Aug 14 2023, 7:28 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

@cor3ntin I have reused EnsureImmediateInvocationInDefaultArgs to rewrite CXXDefaultArgExpr, does this is a correct approach?

Aug 14 2023, 5:58 AM · Restricted Project, Restricted Project
yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Add test to check generated LLVM IR, and fix crash.

Aug 14 2023, 5:53 AM · Restricted Project, Restricted Project

Aug 13 2023

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Should we dump the real default argument AST but not only CXXDefaultArgExpr if CXXDefaultArgExpr has been rewritted?

Aug 13 2023, 10:23 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

FIXME: Need add test in clang/test/CXX/special/class.temporary/p6.cpp to check generated LLVM IR.

Aug 13 2023, 10:22 AM · Restricted Project, Restricted Project
yronglin retitled D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops" from [WIP][Clang] Implement P2718R0 "Lifetime extension in range-based for loops" to [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".
Aug 13 2023, 10:20 AM · Restricted Project, Restricted Project
yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Handle default argument and dependent context.

Aug 13 2023, 10:20 AM · Restricted Project, Restricted Project

Aug 11 2023

yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Only create addational metarialized temporary in for-range-init.
FIXME: Need to handle function default argument, and add more test to make sure the generated LLVM IR is correct.

Aug 11 2023, 9:58 AM · Restricted Project, Restricted Project

Aug 10 2023

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

The gap between these two numbers is very large. So I'think we can create additional materializations only within for-range initializers. I'm not sure if I can find a way to only create materializes for temporaries that need to have an extended lifetime, WDYT?

@rsmith asked for something slightly different (but I am not sure how to collect that info): He wanted the AST size delta.

For what we have, I think the detailed results table would be more useful if we add some size metric for the files and the increase expressed as a percentage. Perhaps sorting by file size would help contextualize the significance of the percentage change.

Aug 10 2023, 4:51 AM · Restricted Project, Restricted Project

Aug 8 2023

yronglin added inline comments to D154784: [clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow.
Aug 8 2023, 7:47 AM · Restricted Project, Restricted Project
yronglin committed rGa2132d72bed1: [Clang] Fix the do while statement disappearing in AST when an error occurs in… (authored by yronglin).
[Clang] Fix the do while statement disappearing in AST when an error occurs in…
Aug 8 2023, 4:35 AM · Restricted Project, Restricted Project
yronglin closed D157195: [Clang] Fix the do while statement disappearing in AST when an error occurs in the conditional expression of the do while statement.
Aug 8 2023, 4:35 AM · Restricted Project, Restricted Project

Aug 7 2023

yronglin added a comment to D157195: [Clang] Fix the do while statement disappearing in AST when an error occurs in the conditional expression of the do while statement.

Thanks for your review! @hokein @tbaeder

Aug 7 2023, 4:18 AM · Restricted Project, Restricted Project
yronglin updated the diff for D157195: [Clang] Fix the do while statement disappearing in AST when an error occurs in the conditional expression of the do while statement.

Address comments.

Aug 7 2023, 4:16 AM · Restricted Project, Restricted Project

Aug 6 2023

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Sorry for the late reply. I tried to investigate the memory impact of creating these additional materializations by build the whole llvm-project and compare the number of MaterializedTemporaryExpr created during parsing.

Aug 6 2023, 6:47 AM · Restricted Project, Restricted Project

Aug 5 2023

yronglin updated the summary of D157195: [Clang] Fix the do while statement disappearing in AST when an error occurs in the conditional expression of the do while statement.
Aug 5 2023, 9:51 AM · Restricted Project, Restricted Project
yronglin updated the summary of D157195: [Clang] Fix the do while statement disappearing in AST when an error occurs in the conditional expression of the do while statement.
Aug 5 2023, 9:50 AM · Restricted Project, Restricted Project
yronglin requested review of D157195: [Clang] Fix the do while statement disappearing in AST when an error occurs in the conditional expression of the do while statement.
Aug 5 2023, 9:48 AM · Restricted Project, Restricted Project
yronglin updated the diff for D155701: [libc++][expected] Implement LWG3836.

Address comment, use _If to get closer to the standard wording.

Aug 5 2023, 8:25 AM · Restricted Project, Restricted Project
yronglin added a comment to D154116: [libc++] Implement LWG3938 (Cannot use std::expected monadic ops with move-only error_type).

@Mordante ping~

Aug 5 2023, 12:15 AM · Restricted Project, Restricted Project
yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

Thanks a lot for your review! @Mordante

Aug 5 2023, 12:15 AM · Restricted Project, Restricted Project
yronglin updated the diff for D155701: [libc++][expected] Implement LWG3836.

Address comments.

Aug 5 2023, 12:06 AM · Restricted Project, Restricted Project

Jul 29 2023

yronglin updated the diff for D155701: [libc++][expected] Implement LWG3836.

Fix CI

Jul 29 2023, 9:08 PM · Restricted Project, Restricted Project
yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

Does this have test for all changes paragraphs in the LWG issue?

Jul 29 2023, 8:48 PM · Restricted Project, Restricted Project
yronglin updated the diff for D155701: [libc++][expected] Implement LWG3836.

Address comments.

Jul 29 2023, 8:44 PM · Restricted Project, Restricted Project

Jul 26 2023

yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

This is a very early implement, please give me some time to add and fix tests.

Jul 26 2023, 9:08 AM · Restricted Project, Restricted Project
yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

Thanks for your review and sorry for the very late reply!

Jul 26 2023, 9:06 AM · Restricted Project, Restricted Project
yronglin added a comment to D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Thanks for your comments and sorry for the very late reply, I have been investigating how to achieve it these days.

Jul 26 2023, 9:03 AM · Restricted Project, Restricted Project
yronglin updated the diff for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops".

Try implement

Jul 26 2023, 8:47 AM · Restricted Project, Restricted Project

Jul 20 2023

yronglin added a reviewer for D155701: [libc++][expected] Implement LWG3836: Mordante.
Jul 20 2023, 8:45 AM · Restricted Project, Restricted Project
yronglin committed rGa2160dd34d56: [libc++][ranges] Implement P2474R2(`views::repeat`). (authored by yronglin).
[libc++][ranges] Implement P2474R2(`views::repeat`).
Jul 20 2023, 5:03 AM · Restricted Project, Restricted Project
yronglin closed D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..
Jul 20 2023, 5:03 AM · Restricted Project, Restricted Project

Jul 19 2023

yronglin updated the diff for D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

Rebase

Jul 19 2023, 4:40 PM · Restricted Project, Restricted Project
yronglin added a comment to D155701: [libc++][expected] Implement LWG3836.

Seems std::optional does not have this issue https://godbolt.org/z/96T5MT695

Jul 19 2023, 6:44 AM · Restricted Project, Restricted Project
yronglin updated the summary of D155701: [libc++][expected] Implement LWG3836.
Jul 19 2023, 6:41 AM · Restricted Project, Restricted Project
yronglin updated the summary of D155701: [libc++][expected] Implement LWG3836.
Jul 19 2023, 6:41 AM · Restricted Project, Restricted Project
yronglin requested review of D155701: [libc++][expected] Implement LWG3836.
Jul 19 2023, 6:39 AM · Restricted Project, Restricted Project
yronglin added a comment to D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

NFC, fix ci, use _LIBCPP_ENABLE_DEBUG_MODE instead of _LIBCPP_ENABLE_ASSERTIONS

Rather than explicitly enabling debug mode (which will fail in the hardened mode test), please add // UNSUPPORTED: !libcpp-has-hardened-mode && !libcpp-has-debug-mode

Jul 19 2023, 1:08 AM · Restricted Project, Restricted Project
yronglin updated the diff for D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

Address comments

Jul 19 2023, 1:07 AM · Restricted Project, Restricted Project

Jul 18 2023

yronglin added a reviewer for D153701: [Clang] Implement P2718R0 "Lifetime extension in range-based for loops": hubert.reinterpretcast.
Jul 18 2023, 9:15 PM · Restricted Project, Restricted Project
yronglin updated the diff for D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

NFC, fix ci, use _LIBCPP_ENABLE_DEBUG_MODE instead of _LIBCPP_ENABLE_ASSERTIONS

Jul 18 2023, 8:47 PM · Restricted Project, Restricted Project
yronglin added a comment to D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

Waiting for CI green

Jul 18 2023, 8:51 AM · Restricted Project, Restricted Project
yronglin added a comment to D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

I mainly skimmed over it. I trust @philnik and @var-const to have done a deeper review; they are more familiar with the ranges details.

Jul 18 2023, 8:50 AM · Restricted Project, Restricted Project
yronglin updated the diff for D141699: [libc++][ranges] Implement P2474R2(`views::repeat`)..

NFC, Use + instead of std::ranges::next in tests.

Jul 18 2023, 8:49 AM · Restricted Project, Restricted Project