Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/InitTweak.cc

    r14c0f7b r251ce80  
    882882                if (!assign) {
    883883                        auto td = new ast::TypeDecl(CodeLocation(), "T", {}, nullptr, ast::TypeDecl::Dtype, true);
    884                         assign = new ast::FunctionDecl(CodeLocation(), "?=?", {td},
     884                        assign = new ast::FunctionDecl(CodeLocation(), "?=?", {},
    885885                        { new ast::ObjectDecl(CodeLocation(), "_dst", new ast::ReferenceType(new ast::TypeInstType("T", td))),
    886886                          new ast::ObjectDecl(CodeLocation(), "_src", new ast::TypeInstType("T", td))},
     
    891891                                dst = new ast::AddressExpr(dst);
    892892                        }
    893                 } else {
     893                }
     894                else {
    894895                        dst = new ast::CastExpr(dst, new ast::ReferenceType(dst->result, {}));
    895896                }
     
    899900                        }
    900901                }
    901                 auto var = ast::VariableExpr::functionPointer(dst->location, assign);
    902                 auto app = new ast::ApplicationExpr(dst->location, var, {dst, src});
    903                 // Skip the resolver, just set the result to the correct type.
    904                 app->result = ast::deepCopy( src->result );
    905                 return app;
     902                return new ast::ApplicationExpr(dst->location, ast::VariableExpr::functionPointer(dst->location, assign), {dst, src});
    906903        }
    907904
Note: See TracChangeset for help on using the changeset viewer.