From cb9e9286ef17f9bb70ae29ac5cf4c406bcc59af1 Mon Sep 17 00:00:00 2001 From: joe-conigliaro Date: Sat, 14 Dec 2019 17:54:34 +1100 Subject: [PATCH] compiler: fixes issue #3074 - can't call a generic function twice with the same data type --- vlib/compiler/fn.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vlib/compiler/fn.v b/vlib/compiler/fn.v index 04d040a221..ca513e6067 100644 --- a/vlib/compiler/fn.v +++ b/vlib/compiler/fn.v @@ -1469,6 +1469,7 @@ fn (p mut Parser) dispatch_generic_fn_instance(f mut Fn, ti &TypeInst) { } if !new_inst { rename_generic_fn_instance(mut f, ti) + replace_generic_type_params(mut f, ti) _ = p.table.find_fn(f.name) or { p.error('function instance `$f.name` not found') return @@ -1480,7 +1481,6 @@ fn (p mut Parser) dispatch_generic_fn_instance(f mut Fn, ti &TypeInst) { p.table.register_fn(f) rename_generic_fn_instance(mut f, ti) replace_generic_type_params(mut f, ti) - // TODO: save dispatch info when update to incremental parsing f.dispatch_of = *ti // TODO: Handle case where type not defined yet, see above // if f.typ in f.type_pars { f.typ = '_ANYTYPE_' }