Skip to content

Conversation

@saki7
Copy link
Member

@saki7 saki7 commented Feb 6, 2026

Fixes yaito3014/rvariant#39

  • Remove eagerly evaluated mutual dependency between operator<=> and other relational operators in rvariant
  • Fix mutual dependency between indirect and recursive_wrapper
    • MSVC somehow considers both classes' relational operators during overload resolution, resulting in circular dependency. I'm not sure if MSVC's behavior is standard-conformant or not, but we do need a workaround. This is due to the class inheritance, so we just move the actual implementation to detail::indirect_base as a workaround.
  • Fix a bug in synth_three_way where it used wrong concept
  • Make sure the solutions are valid in all three compilers
  • Some refactoring

@saki7 saki7 self-assigned this Feb 6, 2026
@saki7 saki7 added the bug Something isn't working label Feb 6, 2026
@saki7 saki7 force-pushed the fix-recursive-vector branch from 39934f7 to c983c02 Compare February 6, 2026 11:22
@saki7 saki7 force-pushed the fix-recursive-vector branch 2 times, most recently from 35c2c2d to 1076883 Compare February 6, 2026 11:44
@saki7 saki7 force-pushed the fix-recursive-vector branch from 216c67b to ef748c7 Compare February 6, 2026 15:19
@saki7

This comment was marked as outdated.

@saki7 saki7 force-pushed the fix-recursive-vector branch from e3ccf91 to 958b1ab Compare February 7, 2026 06:39
@saki7
Copy link
Member Author

saki7 commented Feb 7, 2026

memo: the fully working commit was 958b1ab

@saki7
Copy link
Member Author

saki7 commented Feb 7, 2026

wtf... I now have this case where MSVC/GCC succeeds but Clang fails, which is extremely rare 84e71a4

@saki7 saki7 marked this pull request as ready for review February 7, 2026 08:51
@saki7 saki7 merged commit 09300e7 into main Feb 7, 2026
13 checks passed
@saki7 saki7 deleted the fix-recursive-vector branch February 7, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant