There're some types of errors with eosio-abigen but not eosio-cpp.
errors due to expression not recognized as compile-time constants:
/usr/local/eosio.cdt/bin/../include/eosiolib/symbol.hpp:48:20: error: variable of non-literal type 'std::__1::reverse_iterator<const char *>' cannot be defined in a constexpr constructor
for( auto itr = str.rbegin(); itr != str.rend(); ++itr ) {
^
/Users/jiaendu/workspaces/eos/contracts/hello/hello.cpp:358:1: error: case value is not a constant expression
EOSIO_DISPATCH(hello, (setkey)(setdata)(inlinelog)(test)(teststr)(testmap)(testvec)) // cdt
__basic_string_common is treated as smart contract struct type in the resulting abi:
There're some types of errors with eosio-abigen but not eosio-cpp.
errors due to expression not recognized as compile-time constants:
__basic_string_common
is treated as smart contract struct type in the resulting abi: