Modify

Ticket #4675 (closed Bugs: fixed)

Opened 4 years ago

Last modified 3 years ago

[proto] Cannot combine two expression from different sub domains into super domain

Reported by: theller Owned by: eric_niebler
Milestone: To Be Determined Component: proto
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description

Proto's SFINAE facilities disable the binary operator overload in the attached case.

Proposed fixed would be:

Enable the binary operator iff: 1) Both, LHS and RHS expression have the same super domain 2) LHS matches the grammar for the domain of LHS (not the super domain) 2) RHS matches the grammar for the domain of RHS (not the super domain) 3) resulting expression matches grammar in the super domain.

Attachments

proto_test.cpp Download (2.1 KB) - added by theller 4 years ago.
Testcase for the ticket

Change History

Changed 4 years ago by theller

Testcase for the ticket

comment:1 Changed 4 years ago by theller

formatting got messed up:

Enable the binary operator iff:
1) Both, LHS and RHS expression have the same super domain
2) LHS matches the grammar for the domain of LHS (not the super domain)
2) RHS matches the grammar for the domain of RHS (not the super domain)
3) resulting expression matches grammar in the super domain.

comment:2 Changed 4 years ago by eric_niebler

  • Status changed from new to assigned

comment:3 Changed 3 years ago by eric_niebler

Attempted fix committed to trunk in [68172].

comment:4 Changed 3 years ago by eric_niebler

Fix merged to release in [68206]

comment:5 Changed 3 years ago by eric_niebler

  • Status changed from assigned to closed
  • Resolution set to fixed
View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.