Opened 12 years ago

Closed 12 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 12 years ago.
Testcase for the ticket

Download all attachments as: .zip

Change History (6)

by Thomas Heller, 12 years ago

Attachment: proto_test.cpp added

Testcase for the ticket

comment:1 by Thomas Heller, 12 years ago

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

Status: newassigned

comment:3 by Eric Niebler, 12 years ago

Attempted fix committed to trunk in [68172].

comment:4 by Eric Niebler, 12 years ago

Fix merged to release in [68206]

comment:5 by Eric Niebler, 12 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.