Modify

Opened 7 years ago

Closed 7 years ago

#4675 closed Bugs (fixed)

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

Reported by: Thomas Heller 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 (1)

proto_test.cpp (2.1 KB) - added by Thomas Heller 7 years ago.
Testcase for the ticket

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by Thomas Heller

Attachment: proto_test.cpp added

Testcase for the ticket

comment:1 Changed 7 years ago by Thomas Heller

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 7 years ago by Eric Niebler

Status: newassigned

comment:3 Changed 7 years ago by Eric Niebler

Attempted fix committed to trunk in [68172].

comment:4 Changed 7 years ago by Eric Niebler

Fix merged to release in [68206]

comment:5 Changed 7 years ago by Eric Niebler

Resolution: fixed
Status: assignedclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Eric Niebler.
The resolution will be deleted.

Add Comment


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

 
Note: See TracTickets for help on using tickets.