Changes in / [2295320:0cb3479]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cpp

    r2295320 r0cb3479  
    201201                                && typesCompatible( castExpr->arg->result, castExpr->result )
    202202                        ) {
    203                                 ast::EnumInstType const * arg, * result;
    204                                 if ( ( result = castExpr->result.as<ast::EnumInstType>() ) &&
    205                                                 ( arg = castExpr->arg.as<ast::EnumInstType>() ) &&
    206                                                 arg->base->name != result->base->name) {
    207                                         return castExpr;
     203                                auto argAsEnum = castExpr->arg.as<ast::EnumInstType>();
     204                                auto resultAsEnum = castExpr->result.as<ast::EnumInstType>();
     205                                if (argAsEnum && resultAsEnum) {
     206                                        if (argAsEnum->base->name != resultAsEnum->base->name) {
     207                                                std::cerr << "Enum Cast: " << argAsEnum->base->name << " to " << resultAsEnum->base->name << std::endl;
     208                                                return castExpr;
     209                                        }
    208210                                }
    209211                                // generated cast is the same type as its argument, remove it after keeping env
Note: See TracChangeset for help on using the changeset viewer.