From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22413 invoked by alias); 18 Jun 2009 14:19:55 -0000 Received: (qmail 22361 invoked by uid 48); 18 Jun 2009 14:19:37 -0000 Date: Thu, 18 Jun 2009 14:19:00 -0000 Message-ID: <20090618141937.22360.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/40486] [c++0x] rvalue-references no longer bind to lvalues In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dragan at plusplus dot co dot yu" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-06/txt/msg01296.txt.bz2 ------- Comment #4 from dragan at plusplus dot co dot yu 2009-06-18 14:19 ------- (In reply to comment #3) > Also, n2844 and Doug's patch don't update std::make_pair, so it won't accept > lvalues according to the current draft. That needs fixing too. > If you are referring to: template pair make_pair(T1&& x, T2&& y); I'm not into concepts yet (the reason being obvious :-), but I think T1,T2 can be lvalue-references. Unfortunately, in this case, under reference collapsing rules, this _will_ accept lvalues and perfectly forward them to the pair constructor. Am I off the track here? As for deducing pair template parameters as described in WP, I can only see symptoms of "coding under influence" :-D I say "unfortunately" above, because I don't like the syntax (namely &&) used to express a function that can take both lvalues and rvalues. I have objected on comp.std.c++, but got no real support. Also, about move and forward. IMHO, those presented in the patch seem fine. Did I understand correctly that the only thing you are waiting is acceptance into WP? I guess the functionality will remain the same. It might be they have issues with concepts. I'm only guessing, so I apologize if you have some _solid_ information. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40486