[LLVMbugs] [Bug 9351] New: Cannot have recursive multimap

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 1 05:30:46 PST 2011


           Summary: Cannot have recursive multimap
           Product: libc++
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
        AssignedTo: hhinnant at apple.com
        ReportedBy: chris at bubblescope.net
                CC: llvmbugs at cs.uiuc.edu

This problem effects all the tree-based data structures, but I hit it withe
boost::date-time and multimap.

The following is not valid in libc++:

struct X
{ std::multimap<int, X> m; };

I do not believe the standard technically requires it to work, but it is nice
if it does.

I believe the only thing stopping it from working is the fact that
instantiating typedefs in classes also forces instantiating their members. 

However, I had a quick look and I don't think there is a quick fix to this --
unless there is something clever, it's probably going to involve separating all
(or at least many) of the typedefs out into a separate hierarchy, just to avoid
instantiating tree_node, and therefore value_type.

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list