summaryrefslogtreecommitdiff
path: root/src/synexts/derive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/synexts/derive.cpp')
-rw-r--r--src/synexts/derive.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/synexts/derive.cpp b/src/synexts/derive.cpp
index d52823aa..92566d06 100644
--- a/src/synexts/derive.cpp
+++ b/src/synexts/derive.cpp
@@ -83,9 +83,12 @@ public:
DEBUG("node = " << *node);
AST::Function fcn(
- AST::MetaItems(), AST::TypeParams(), AST::Function::CLASS_REFMETHOD,
+ AST::MetaItems(), AST::TypeParams(),
ret_type,
- vec$( ::std::make_pair( AST::Pattern(AST::Pattern::TagBind(), "f"), f_type ) )
+ vec$(
+ ::std::make_pair( AST::Pattern(AST::Pattern::TagBind(), "self"), TypeRef(TypeRef::TagReference(), false, TypeRef("Self")) ),
+ ::std::make_pair( AST::Pattern(AST::Pattern::TagBind(), "f"), f_type )
+ )
);
fcn.set_code( NEWNODE(AST::ExprNode_Block, vec$(mv$(node)), ::std::unique_ptr<AST::Module>()) );