-
tzik authored
base::Bind implementation uses the function overload resolution with ADL to dispatch bound parameters to Unwrap function. However, this works only when the bound parameter is passed as a const reference. And other form of bound parameters, such as rvalue-reference, are fallback to default Unwrap and fails to compile. This CL introduces UnwrapTraits<> as a traits struct, and converts Unwap() function to UnwrapTraits<>::Unwrap(), so that the unwrapping function is looked up by the normalized type name. BUG=554299 Review-Url: https://codereview.chromium.org/2250373002 Cr-Commit-Position: refs/heads/master@{#415008}
001315c4