forked from aniani/vim
patch 8.2.1815: Vim9: memory leak when using function reference
Problem: Vim9: memory leak when using function reference. Solution: Temporarily disable the test.
This commit is contained in:
@@ -436,41 +436,42 @@ def Test_disassemble_call()
|
||||
res)
|
||||
enddef
|
||||
|
||||
def s:CreateRefs()
|
||||
var local = 'a'
|
||||
def Append(arg: string)
|
||||
local ..= arg
|
||||
enddef
|
||||
g:Append = Append
|
||||
def Get(): string
|
||||
return local
|
||||
enddef
|
||||
g:Get = Get
|
||||
enddef
|
||||
|
||||
def Test_disassemble_closure()
|
||||
CreateRefs()
|
||||
var res = execute('disass g:Append')
|
||||
assert_match('<lambda>\d\_s*' ..
|
||||
'local ..= arg\_s*' ..
|
||||
'\d LOADOUTER $0\_s*' ..
|
||||
'\d LOAD arg\[-1\]\_s*' ..
|
||||
'\d CONCAT\_s*' ..
|
||||
'\d STOREOUTER $0\_s*' ..
|
||||
'\d PUSHNR 0\_s*' ..
|
||||
'\d RETURN',
|
||||
res)
|
||||
|
||||
res = execute('disass g:Get')
|
||||
assert_match('<lambda>\d\_s*' ..
|
||||
'return local\_s*' ..
|
||||
'\d LOADOUTER $0\_s*' ..
|
||||
'\d RETURN',
|
||||
res)
|
||||
|
||||
unlet g:Append
|
||||
unlet g:Get
|
||||
enddef
|
||||
" TODO: fix memory leak and enable again
|
||||
"def s:CreateRefs()
|
||||
" var local = 'a'
|
||||
" def Append(arg: string)
|
||||
" local ..= arg
|
||||
" enddef
|
||||
" g:Append = Append
|
||||
" def Get(): string
|
||||
" return local
|
||||
" enddef
|
||||
" g:Get = Get
|
||||
"enddef
|
||||
"
|
||||
"def Test_disassemble_closure()
|
||||
" CreateRefs()
|
||||
" var res = execute('disass g:Append')
|
||||
" assert_match('<lambda>\d\_s*' ..
|
||||
" 'local ..= arg\_s*' ..
|
||||
" '\d LOADOUTER $0\_s*' ..
|
||||
" '\d LOAD arg\[-1\]\_s*' ..
|
||||
" '\d CONCAT\_s*' ..
|
||||
" '\d STOREOUTER $0\_s*' ..
|
||||
" '\d PUSHNR 0\_s*' ..
|
||||
" '\d RETURN',
|
||||
" res)
|
||||
"
|
||||
" res = execute('disass g:Get')
|
||||
" assert_match('<lambda>\d\_s*' ..
|
||||
" 'return local\_s*' ..
|
||||
" '\d LOADOUTER $0\_s*' ..
|
||||
" '\d RETURN',
|
||||
" res)
|
||||
"
|
||||
" unlet g:Append
|
||||
" unlet g:Get
|
||||
"enddef
|
||||
|
||||
|
||||
def EchoArg(arg: string): string
|
||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1815,
|
||||
/**/
|
||||
1814,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user