2
0
mirror of https://github.com/boostorg/lambda.git synced 2026-01-24 18:02:22 +00:00

making return type deduction system not to fail at compile time

[SVN r12094]
This commit is contained in:
Jaakko Järvi
2001-12-17 22:43:43 +00:00
parent d364221497
commit 08bdbd1b69

View File

@@ -257,8 +257,9 @@ struct return_type_2_ifthenelsereturn;
// if A can be converted to B and vice versa -> ambiguous
template<int Phase, class A, class B>
struct return_type_2_ifthenelsereturn<Phase, true, true, false, A, B> {
typedef typename
detail::generate_error<A>::ambiguous_type_in_conditional_expression type;
typedef
detail::return_type_deduction_failure<return_type_2_ifthenelsereturn> type;
// ambiguous type in conditional expression
};
// if A can be converted to B and vice versa and are of same type
template<int Phase, class A, class B>
@@ -303,9 +304,9 @@ struct return_type_2_ifthenelsereturn<1, false, false, false, A, B> {
// PHASE 6:2
template<class A, class B>
struct return_type_2_ifthenelsereturn<2, false, false, false, A, B> {
typedef typename
detail::generate_error<A>::types_do_not_match_in_conditional_expression
type;
typedef
detail::return_type_deduction_failure<return_type_2_ifthenelsereturn> type;
// types_do_not_match_in_conditional_expression
};