Page MenuHomePhabricator

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

rarutyun (Ruslan Arutyunyan)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 4 2020, 3:30 PM (158 w, 6 d)

Recent Activity

Wed, Sep 13

rarutyun added a comment to D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..

[Github PR transition cleanup]

I don't know how to say this other than to say that we are reluctant to increase the complexity and the "API surface" (in the general sense of having a contract with users) of the library in order to provide an impression of ABI-compatibility with MSVC. If we wanted to be truly ABI compatible with MSVC in some regards, we would want to have a much more holistic plan than just making sure these function names match and a few data structures happen to have the same layout. That's just too brittle and it creates a haunted graveyard where we'll forever wonder how much leeway we have in making changes to our code because of this presumed ABI compatibility. I also question how much benefit this would provide to users, since I expect the number of people that will try to mix libc++ and the MSVC STL in a way that requires ABI compatibility to be extremely tiny.

Also, generally speaking, mixing stdlibs makes it super easy for users to get into sketchy situations without understanding why. We generally frown upon making changes that suggest it's a good idea. For all these reasons, I believe this patch is not in line with where we want to take the library so I'm going to close it. (Sorry, that requires commandeering and then abandoning which may seem a bit rude, but it's how Phab works)

Wed, Sep 13, 1:47 PM · Restricted Project, Restricted Project

Mar 22 2023

rarutyun updated subscribers of D141779: [libc++][PSTL] Copy the headers into libc++.

If there is no parallel backend available, the serial backend should be used instead of not providing anything. I also don't really see a use-case for disabling specific policies.

Mar 22 2023, 11:50 AM · Restricted Project, Restricted Project
rarutyun added a comment to D141779: [libc++][PSTL] Copy the headers into libc++.

Thanks for keeping me in the loop.

Mar 22 2023, 9:08 AM · Restricted Project, Restricted Project

Feb 20 2023

rarutyun added a comment to D103198: [libc++] Add a CI configuration where we test the PSTL integration.

Sorry for disappearing. That was because of Intel business suspension in Russia. I was not allowed to work on that kind of stuff.

Feb 20 2023, 2:26 PM · Restricted Project, Restricted Project, Restricted Project
rarutyun added a comment to D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..

Have libstdc++ and MSVC concerted to make sure their respective pmr implementations were ABI compatible?

Feb 20 2023, 1:59 PM · Restricted Project, Restricted Project

Feb 2 2023

rarutyun added a comment to D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..

I'm not convinced it's a good idea to guarantee ABI compatibility in any way here, but my main concern right now is that the changes in this patch don't reflect what is claimed in the commit message. monotonic_buffer_resource, etc. are clearly not ABI compatible and polymorphic_resource should probably also be in the versioned namespace. I see no reason to change that.

Feb 2 2023, 5:34 PM · Restricted Project, Restricted Project

Jan 30 2023

rarutyun added a comment to D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..

Our implementation isn't ABI compatible with libstdc++ or the MSVL STL. Putting them in the same namespace just results in subtle bugs.

Jan 30 2023, 1:45 PM · Restricted Project, Restricted Project
rarutyun updated the diff for D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..
Jan 30 2023, 1:20 PM · Restricted Project, Restricted Project
rarutyun updated the summary of D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..
Jan 30 2023, 8:31 AM · Restricted Project, Restricted Project
rarutyun requested review of D142902: [libcxx][pmr] Make std::pmr::memory_resource ABI-compatible with GNU libstdc++ and Microsoft STL implementation..
Jan 30 2023, 8:30 AM · Restricted Project, Restricted Project

May 3 2022

rarutyun accepted D118232: [libcxx][test][NFC] Rewrite map count test and add test case for "final" compare.

LGTM. @ldionne, any thoughts on that review?

May 3 2022, 3:24 PM · Restricted Project, Restricted Project
rarutyun added a comment to D119703: [libcxx][test][NFC] Add tests for hash_function() and key_eq() in unordered containers.

Could you rebase onto main and re-upload this? I suspect the failures might go away now that we've changed a few things about the debug mode.

May 3 2022, 3:21 PM · Restricted Project, Restricted Project
rarutyun updated the diff for D119703: [libcxx][test][NFC] Add tests for hash_function() and key_eq() in unordered containers.
May 3 2022, 3:20 PM · Restricted Project, Restricted Project
rarutyun commandeered D119703: [libcxx][test][NFC] Add tests for hash_function() and key_eq() in unordered containers.
May 3 2022, 3:20 PM · Restricted Project, Restricted Project

Mar 31 2022

rarutyun updated the diff for D103198: [libc++] Add a CI configuration where we test the PSTL integration.
Mar 31 2022, 8:31 AM · Restricted Project, Restricted Project, Restricted Project

Mar 7 2022

rarutyun updated the diff for D103198: [libc++] Add a CI configuration where we test the PSTL integration.
Mar 7 2022, 4:46 AM · Restricted Project, Restricted Project, Restricted Project

Mar 3 2022

rarutyun committed rG41a62cc0b4f5: [libcxx][test][NFC] Add tests for constructors of unordered [multi]map since… (authored by rarutyun).
[libcxx][test][NFC] Add tests for constructors of unordered [multi]map since…
Mar 3 2022, 8:27 AM · Restricted Project
rarutyun closed D119236: [libcxx][test][NFC] Add tests for constructors of unordered [multi]map added in C++14.
Mar 3 2022, 8:27 AM · Restricted Project, Restricted Project
rarutyun accepted D119236: [libcxx][test][NFC] Add tests for constructors of unordered [multi]map added in C++14.
Mar 3 2022, 4:33 AM · Restricted Project, Restricted Project
rarutyun committed rG6cefc30a7fc8: [libcxx][test][NFC] Add tests for C++14 constructors of unordered sets (authored by rarutyun).
[libcxx][test][NFC] Add tests for C++14 constructors of unordered sets
Mar 3 2022, 4:16 AM · Restricted Project
rarutyun closed D119243: [libcxx][test][NFC] Add tests for C++14 constructors of unordered sets.
Mar 3 2022, 4:16 AM · Restricted Project, Restricted Project
rarutyun accepted D119243: [libcxx][test][NFC] Add tests for C++14 constructors of unordered sets.
Mar 3 2022, 3:50 AM · Restricted Project, Restricted Project

Feb 28 2022

rarutyun added a comment to D103198: [libc++] Add a CI configuration where we test the PSTL integration.

@rarutyun you first need to commandeer this review, which is in the "Add Action..." drop down.
(AFAIK that requires no special permissions.)

Feb 28 2022, 10:36 AM · Restricted Project, Restricted Project, Restricted Project
rarutyun commandeered D103198: [libc++] Add a CI configuration where we test the PSTL integration.
Feb 28 2022, 10:33 AM · Restricted Project, Restricted Project, Restricted Project
rarutyun updated subscribers of D103198: [libc++] Add a CI configuration where we test the PSTL integration.

I am trying to update this review to continue enabling of PSTL CI with necessary modifications of the pipeline and fixes in PSTL source/tests, but I cannot do that. Seems like I don't have enough permissions to update the review I am not the author of. I am using web interface and when I am pressing "Update diff" I can only create the new revision and don't have an option to update the current one. Probably it's because I don't have direct Phabricator account (I have been using the GitHub one from the very beginning) or probably the reason is different. Together with @MikeDvorskiy we tried to do the same from his account (using web interface as well) and everything works just fine.

Feb 28 2022, 9:27 AM · Restricted Project, Restricted Project, Restricted Project

Feb 7 2022

rarutyun committed rG6a929492a603: [libcxx][test][NFC] Add tests for backward iteration over associative (authored by rarutyun).
[libcxx][test][NFC] Add tests for backward iteration over associative
Feb 7 2022, 2:22 PM
rarutyun closed D118114: [libcxx][test][NFC] Add tests for backward iteration over associative containers.
Feb 7 2022, 2:22 PM · Restricted Project
rarutyun accepted D118114: [libcxx][test][NFC] Add tests for backward iteration over associative containers.
Feb 7 2022, 2:00 PM · Restricted Project

Jan 31 2022

rarutyun committed rGd01d91d1aec9: [libc++][pstl][NFC] Remove usage of std::result_of from Parallel STL (authored by rarutyun).
[libc++][pstl][NFC] Remove usage of std::result_of from Parallel STL
Jan 31 2022, 11:27 AM
rarutyun closed D118457: [libc++][pstl][NFC] Remove usage of std::result_of from Parallel STL.
Jan 31 2022, 11:27 AM · Restricted Project

Jan 28 2022

rarutyun requested review of D118457: [libc++][pstl][NFC] Remove usage of std::result_of from Parallel STL.
Jan 28 2022, 5:02 AM · Restricted Project

Jan 27 2022

rarutyun committed rG843c12d6a0cd: [libc++][pstl] Implement tag dispatching mechanism for Parallel STL (authored by rarutyun).
[libc++][pstl] Implement tag dispatching mechanism for Parallel STL
Jan 27 2022, 5:15 PM
rarutyun closed D104492: [libc++][pstl] Implement tag dispatching.
Jan 27 2022, 5:15 PM · Restricted Project
rarutyun added a comment to D104492: [libc++][pstl] Implement tag dispatching.

CI is green, @MikeDvorskiy and @rodgert approved that previously. I believe we can finally merge it.

Jan 27 2022, 4:35 PM · Restricted Project
rarutyun updated the diff for D104492: [libc++][pstl] Implement tag dispatching.
Jan 27 2022, 8:58 AM · Restricted Project

Jan 26 2022

rarutyun updated the diff for D104492: [libc++][pstl] Implement tag dispatching.
Jan 26 2022, 8:44 AM · Restricted Project
rarutyun added inline comments to D104492: [libc++][pstl] Implement tag dispatching.
Jan 26 2022, 8:36 AM · Restricted Project

Jan 24 2022

rarutyun updated the diff for D104492: [libc++][pstl] Implement tag dispatching.
Jan 24 2022, 10:50 AM · Restricted Project

Jan 21 2022

rarutyun added inline comments to D104492: [libc++][pstl] Implement tag dispatching.
Jan 21 2022, 6:57 AM · Restricted Project

Jan 17 2022

rarutyun added inline comments to D104492: [libc++][pstl] Implement tag dispatching.
Jan 17 2022, 6:12 PM · Restricted Project

Dec 18 2021

rarutyun committed rGff94bd1bc92e: [libcxx][test][NFC] noexcept tests for std::array (authored by kboyarinov).
[libcxx][test][NFC] noexcept tests for std::array
Dec 18 2021, 5:15 AM
rarutyun closed D115717: [libcxx][test][NFC] noexcept tests for std::array.
Dec 18 2021, 5:14 AM · Restricted Project
rarutyun accepted D115717: [libcxx][test][NFC] noexcept tests for std::array.
Dec 18 2021, 4:56 AM · Restricted Project

Dec 10 2021

rarutyun committed rG82ff94a59cd7: [libcxx][test][NFC] Extend testing for vector.cons (authored by kboyarinov).
[libcxx][test][NFC] Extend testing for vector.cons
Dec 10 2021, 4:06 AM
rarutyun closed D114954: [libcxx][test][NFC] Extend testing for vector.cons.
Dec 10 2021, 4:06 AM · Restricted Project
rarutyun accepted D114954: [libcxx][test][NFC] Extend testing for vector.cons.
Dec 10 2021, 3:55 AM · Restricted Project
rarutyun committed rGab018330f33c: [libcxx][test][NFC] Tests for set comparisons (authored by kboyarinov).
[libcxx][test][NFC] Tests for set comparisons
Dec 10 2021, 3:53 AM
rarutyun closed D115136: [libcxx][test][NFC] Tests for sets comparisons.
Dec 10 2021, 3:53 AM · Restricted Project
rarutyun accepted D115136: [libcxx][test][NFC] Tests for sets comparisons.
Dec 10 2021, 1:48 AM · Restricted Project

Dec 1 2021

rarutyun committed rG8c6b24899e51: [libcxx][test][NFC] Various tests for std::vector (authored by kboyarinov).
[libcxx][test][NFC] Various tests for std::vector
Dec 1 2021, 3:16 PM
rarutyun closed D112438: [libcxx][test][NFC] Various tests for std::vector.
Dec 1 2021, 3:16 PM · Restricted Project
rarutyun accepted D112438: [libcxx][test][NFC] Various tests for std::vector.

LGTM, waiting for CI to complete

Dec 1 2021, 5:55 AM · Restricted Project
rarutyun committed rG8d25da78aad9: [libcxx][test][NFC] Extend get_allocator() testing for containers (authored by kboyarinov).
[libcxx][test][NFC] Extend get_allocator() testing for containers
Dec 1 2021, 5:25 AM
rarutyun closed D114785: [libcxx][test][NFC] Extend get_allocator() testing for containers.
Dec 1 2021, 5:25 AM · Restricted Project
rarutyun accepted D114785: [libcxx][test][NFC] Extend get_allocator() testing for containers.

LGTM

Dec 1 2021, 5:03 AM · Restricted Project
rarutyun added inline comments to D112438: [libcxx][test][NFC] Various tests for std::vector.
Dec 1 2021, 4:55 AM · Restricted Project

Nov 27 2021

rarutyun added a comment to D112438: [libcxx][test][NFC] Various tests for std::vector.

Overall, looks good to me, but I believe some small improvements could be done.

Nov 27 2021, 6:58 AM · Restricted Project

Nov 26 2021

rarutyun committed rG56c8ad237aa4: [libcxx][NFC] Add tests for associative containers key_comp and value_comp (authored by kboyarinov).
[libcxx][NFC] Add tests for associative containers key_comp and value_comp
Nov 26 2021, 2:50 PM
rarutyun closed D113998: [libcxx][NFC] Add tests for associative containers key_comp and value_comp.
Nov 26 2021, 2:50 PM · Restricted Project
rarutyun accepted D113998: [libcxx][NFC] Add tests for associative containers key_comp and value_comp.

Thanks for the patch! Please provide "Author Name <email@domain>" if you want me to commit this on your behalf.

Nov 26 2021, 2:17 PM · Restricted Project
rarutyun updated the diff for D104492: [libc++][pstl] Implement tag dispatching.

Add tag_dispatching mechanism for OpenMP backend

Nov 26 2021, 2:11 PM · Restricted Project
rarutyun added a comment to D114624: [pstl] Fix incorrect usage of std::invoke_result.

Obviously correct, :shipit:. But some non-blocking nits:
(1) If we have any tests related to PSTL, then surely it's trivial to add a regression test for this. (But I'm not sure we do.)
(2) The indentation would read better as

template <typename _F1, typename _F2>
auto __invoke_if_else(std::false_type, _F1, _F2 __f2)
    -> decltype(__f2())
{

(3) It's mildly weird that __invoke_if and __invoke_if_not return void on both branches, but __invoke_if_else returns auto on both branches. You sure you couldn't just make the return type void?

Nov 26 2021, 7:31 AM · Restricted Project
rarutyun committed rGf824bb0e36fc: [pstl] Fix incorrect usage of std::invoke_result (authored by rarutyun).
[pstl] Fix incorrect usage of std::invoke_result
Nov 26 2021, 6:32 AM
rarutyun closed D114624: [pstl] Fix incorrect usage of std::invoke_result.
Nov 26 2021, 6:32 AM · Restricted Project
rarutyun updated the summary of D104492: [libc++][pstl] Implement tag dispatching.
Nov 26 2021, 3:09 AM · Restricted Project
rarutyun requested review of D114624: [pstl] Fix incorrect usage of std::invoke_result.
Nov 26 2021, 3:08 AM · Restricted Project

Nov 8 2021

rarutyun added a comment to D112836: [libc++] Transparent unordered_foo::count() should use __count_multi..

Thanks for creating the review for this issue. To be honest when implementing this stuff I didn't realize that unique containers may return multiple results in heterogeneous case. Currently I know that because this question is very relevant to the https://wg21.link/P2363 paper.

Nov 8 2021, 1:43 PM · Restricted Project

Nov 3 2021

rarutyun committed rGd7ac595fc517: [libcxx][test][NFC] More tests for containers comparisons (authored by kboyarinov).
[libcxx][test][NFC] More tests for containers comparisons
Nov 3 2021, 6:15 AM
rarutyun closed D112424: [libcxx][test][NFC] More tests for containers comparisons.
Nov 3 2021, 6:15 AM · Restricted Project
rarutyun accepted D112424: [libcxx][test][NFC] More tests for containers comparisons.

Thanks @kboyarinov. LGTM.

Nov 3 2021, 5:44 AM · Restricted Project

Oct 22 2021

rarutyun committed rGc87a4a46b217: [libc++][test][NFC] Add tests for std::vector comparisons (authored by kboyarinov).
[libc++][test][NFC] Add tests for std::vector comparisons
Oct 22 2021, 8:13 AM
rarutyun closed D111738: [libcxx][test] Add tests for std::vector comparisons.
Oct 22 2021, 8:13 AM · Restricted Project

Oct 18 2021

rarutyun added a comment to D111738: [libcxx][test] Add tests for std::vector comparisons.

Do you need help committing the patch? If so, please provide Author Name <email@domain> for me to commit this on your behalf. Also you should get commit access per https://releases.llvm.org/9.0.0/docs/DeveloperPolicy.html#obtaining-commit-access if you plan on submitting more of these fixes. Thanks!

Oct 18 2021, 8:32 AM · Restricted Project

Oct 15 2021

rarutyun added a comment to D111738: [libcxx][test] Add tests for std::vector comparisons.

Thanks a lot for looking into this! I was incredibly surprised to learn that we didn't have tests for std::vector's comparison. It's pretty vexing.

Oct 15 2021, 3:34 PM · Restricted Project

Oct 14 2021

rarutyun added a comment to D99836: [pstl] Implement OpenMP backend.

Leaving the correctness of the backend to @MikeDvorskiy (thanks!), but apart from that this looks good to me.

Oct 14 2021, 9:36 AM · Restricted Project

Oct 13 2021

rarutyun added a comment to D99836: [pstl] Implement OpenMP backend.

I've put some small comments but they are definitely not a showstopper for this patch to be merged. Whoever merges it please just make sure to apply those.

Oct 13 2021, 3:54 PM · Restricted Project
rarutyun added inline comments to D111738: [libcxx][test] Add tests for std::vector comparisons.
Oct 13 2021, 3:36 PM · Restricted Project
rarutyun added a comment to D111738: [libcxx][test] Add tests for std::vector comparisons.

Hi everybody,

Oct 13 2021, 3:32 PM · Restricted Project
rarutyun added reviewers for D111738: [libcxx][test] Add tests for std::vector comparisons: rarutyun, zoecarver, Quuxplusone, Mordante.
Oct 13 2021, 3:26 PM · Restricted Project

Sep 29 2021

rarutyun added a comment to D110735: [libc++] [P1614] Implement std::compare_three_way..

Should we add test to check availability from <functional> header or it's already covered by this one libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp?

Sep 29 2021, 4:21 PM · Restricted Project
rarutyun added inline comments to D110735: [libc++] [P1614] Implement std::compare_three_way..
Sep 29 2021, 4:19 PM · Restricted Project

Sep 27 2021

rarutyun added a comment to D110515: [libc++] [compare] Named comparison functions, is_eq etc..

Overall, LGTM except the question with HIDE_FROM_ABI that is already raised and the small comment that I've left.

Sep 27 2021, 12:24 PM · Restricted Project

Sep 26 2021

rarutyun added inline comments to D99836: [pstl] Implement OpenMP backend.
Sep 26 2021, 5:05 PM · Restricted Project

Sep 2 2021

rarutyun updated the summary of D104492: [libc++][pstl] Implement tag dispatching.
Sep 2 2021, 11:10 AM · Restricted Project
rarutyun added inline comments to D104492: [libc++][pstl] Implement tag dispatching.
Sep 2 2021, 11:08 AM · Restricted Project
rarutyun updated the diff for D104492: [libc++][pstl] Implement tag dispatching.
Sep 2 2021, 10:47 AM · Restricted Project
rarutyun updated the diff for D104492: [libc++][pstl] Implement tag dispatching.
Sep 2 2021, 6:09 AM · Restricted Project

Aug 31 2021

rarutyun added inline comments to D109011: [libc++] [P0919] Some belated review on D87171.
Aug 31 2021, 1:21 PM · Restricted Project
rarutyun added inline comments to D109011: [libc++] [P0919] Some belated review on D87171.
Aug 31 2021, 12:30 PM · Restricted Project
rarutyun added a comment to D87171: Implement P0919R3.

is this really P0919R3?
Looks to me more like P0919R0

Using libcxx 12, the example from P0919r3

struct string_hash {
  using transparent_key_equal = std::equal_to<>;  // Pred to use
  using hash_type = std::hash<std::string_view>;  // just a helper local type
  size_t operator()(std::string_view txt) const   { return hash_type{}(txt); }
  size_t operator()(const std::string& txt) const { return hash_type{}(txt); }
  size_t operator()(const char* txt) const        { return hash_type{}(txt); }
};

std::unordered_map<std::string, int, string_hash> map = /* ... */;
map.find("abc");
map.find("def"sv);

doesn't compile. The example from P0919r0

struct string_hash {
  using is_transparent = void;                    // I confirm I know what I am doing
  using hash_type = std::hash<std::string_view>;  // just a helper local type
  size_t operator()(std::string_view txt) const   { return hash_type{}(txt); }
  size_t operator()(const std::string& txt) const { return hash_type{}(txt); }
  size_t operator()(const char* txt) const        { return hash_type{}(txt); }
};

std::unordered_map<std::string, int, string_hash, std::equal_to<>> map = /* ... */;
map.find("abc");
map.find("def"sv);

compiles fine

Aug 31 2021, 6:59 AM · Restricted Project

Aug 30 2021

rarutyun added a comment to D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.

Rebased one more time.

Aug 30 2021, 5:08 AM · Restricted Project
rarutyun updated the diff for D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.
Aug 30 2021, 5:07 AM · Restricted Project

Aug 26 2021

rarutyun added a comment to D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.

@rarutyun Can you please rebase this onto main, it doesn't apply cleanly?

Aug 26 2021, 5:06 AM · Restricted Project
rarutyun updated the diff for D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.
Aug 26 2021, 5:06 AM · Restricted Project

Aug 23 2021

rarutyun added a comment to D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.

Also LGTM, but since I'm not a co-approver, we'll need to wait for either @ldionne's approval or a second co-approver.

Aug 23 2021, 3:58 PM · Restricted Project
rarutyun added a comment to D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.

Hi @cjdb @Quuxplusone. Any progress on this review?

Aug 23 2021, 4:48 AM · Restricted Project

Aug 18 2021

rarutyun added a comment to D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.

@rarutyun anything blocking this? Do you need help landing it?

Aug 18 2021, 6:50 AM · Restricted Project
rarutyun updated the diff for D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.
Aug 18 2021, 6:46 AM · Restricted Project
rarutyun added inline comments to D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.
Aug 18 2021, 6:44 AM · Restricted Project
rarutyun updated the diff for D103478: [libc++][compare] Implement three_way_comparable[_with] concepts.
Aug 18 2021, 6:35 AM · Restricted Project