This is needed to allow the callback system to perform implicit conversions from the task result to the argument's call. Otherwise, the template resolution will force exact equality between the return type of the task and the reply's argument type which is too strict. For example, you wouldn't be able to take a const int & when returning an int.
Also remove some DCHECKs that can't happen.
BUG=159114
Review URL: https://chromiumcodereview.appspot.com/11369061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169825 0039d316-1c4b-4281-b951-d872f2087c98
Because the temporary storage of the result is an implementation detail of PostTaskAndReplyWithResults, its safe to always assume that passed types should be passed.
BUG=126008
TEST=TaskRunnerHelpersTest.PostTaskAndReplyWithResultPassed
Review URL: http://codereview.chromium.org/10344012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135228 0039d316-1c4b-4281-b951-d872f2087c98