Opened 12 years ago

Closed 12 years ago

#4230 closed Patches (fixed)

[Patch] Fix missing/broken friend function definitions in class templates

Reported by: Douglas Gregor Owned by: Ion Gaztañaga
Milestone: Boost 1.45.0 Component: interprocess
Version: Boost 1.44.0 Severity: Problem
Keywords: Cc:

Description

We turned on better checking for in-class friend function definitions in Clang, instantiating them when the class templates containing those friends are instantiated (see C++98/03 [temp.friend]p5). This found some breakage in the Interprocess library, where an obvious "operator==" is missing (it's used via an in-class friend function definition) and a swap() function defined as an in-class friend function could never be compiled.

I've attached a patch that fixes both problems.

Attachments (1)

boost-interprocess-fixes.patch (1.8 KB ) - added by Douglas Gregor 12 years ago.
Patch to fix two problems with Boost.Interprocess

Download all attachments as: .zip

Change History (2)

by Douglas Gregor, 12 years ago

Patch to fix two problems with Boost.Interprocess

comment:1 by Ion Gaztañaga, 12 years ago

Milestone: Boost 1.43.0Boost-1.45.0
Resolution: fixed
Status: newclosed

Fixed for Boost 1.45 in release branch

Note: See TracTickets for help on using tickets.