std::tr1::result_of bug - nested template result bug - by njoubert

Status : 

  Postponed<br /><br />
		Due to current priorities, the product team decided to postpone the resolution of this item.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 425054 Comments
Status Closed Workarounds
Type Bug Repros 0
Opened 3/18/2009 11:53:31 PM
Access Restriction Public


TR1 result_of defines a list of steps to determine the resultant type. One of the steps is to use a nested template "result" with nested name "type".

The code listed fails to compile on VC2008 SP1 TR1, but compiles with boost TR1. If you use "tr1::remove_reference" on Func, then it compiles on VC2008 SP1.

A reference is added by the library (in the implementation of result_of) that should not be added.
Sign in to post a comment.
Posted by Microsoft on 8/14/2009 at 2:41 PM

Thanks for reporting this bug. Unfortunately, we won't be able to fix this in VC10. This will be automatically fixed when result_of is powered by decltype (eliminating the need for TR1's result_type/result<FT> machinery). We had hoped to be able to reimplement result_of in VC10, but other work items (such as rewriting the STL to take advantage of rvalue references) were higher priority. As for result_of's current implementation, which will be thrown away eventually, we've had to devote our limited resources to fixing bugs of higher priority (such as TR1 <functional> not working at all with custom calling conventions).

If you have any further questions, feel free to E-mail me at .

Stephan T. Lavavej
Visual C++ Libraries Developer
Posted by Microsoft on 3/19/2009 at 3:08 PM
Thanks for reporting the issue. We are escalating this bug to the product unit who works on that specific feature area. The team will review this issue and make a decision on whether they will fix it or not for the next release.

Thank you,
Visual Studio Product Team