@@ -1033,6 +1033,7 @@ namespace chaiscript
|
|||||||
if (funs.first != loc) t_loc.store(uint_fast32_t(funs.first), std::memory_order_relaxed);
|
if (funs.first != loc) t_loc.store(uint_fast32_t(funs.first), std::memory_order_relaxed);
|
||||||
Boxed_Value bv = dispatch::dispatch(*funs.second, params, m_conversions);
|
Boxed_Value bv = dispatch::dispatch(*funs.second, params, m_conversions);
|
||||||
// the result of a clone is never to be marked as a return_value
|
// the result of a clone is never to be marked as a return_value
|
||||||
|
// \todo see if we can eliminate this comparison
|
||||||
if (t_name == "clone") {
|
if (t_name == "clone") {
|
||||||
bv.reset_return_value();
|
bv.reset_return_value();
|
||||||
}
|
}
|
||||||
|
@@ -211,7 +211,7 @@ namespace chaiscript
|
|||||||
if (ti.is_undef()
|
if (ti.is_undef()
|
||||||
|| ti.bare_equal(user_type<Boxed_Value>())
|
|| ti.bare_equal(user_type<Boxed_Value>())
|
||||||
|| (!bv.get_type_info().is_undef()
|
|| (!bv.get_type_info().is_undef()
|
||||||
&& (ti.bare_equal(user_type<Boxed_Number>())
|
&& ( (ti.bare_equal(user_type<Boxed_Number>()) && bv.get_type_info().is_arithmetic())
|
||||||
|| ti.bare_equal(bv.get_type_info())
|
|| ti.bare_equal(bv.get_type_info())
|
||||||
|| bv.get_type_info().bare_equal(user_type<std::shared_ptr<const Proxy_Function_Base> >())
|
|| bv.get_type_info().bare_equal(user_type<std::shared_ptr<const Proxy_Function_Base> >())
|
||||||
|| t_conversions.converts(ti, bv.get_type_info())
|
|| t_conversions.converts(ti, bv.get_type_info())
|
||||||
|
Reference in New Issue
Block a user