ITADN

nested resumable function calls don't seem to work

#105Openbrianguenter 创建于 2024-09-20
B
brianguentercommented
Nested resumable functions don't work the way I expected. The documentation doesn't have examples so it's not clear if this feature is even supported. **Minimal Working Example** ```julia using ResumableFunctions @resumable function f1(n) for i in 1:n @yield i end end @resumable function f2(n) for i in 1:n @yield f1(i) end end ``` When execute `for val in f2(10) println(val) end` expected to get ```julia 1 1 2 1 2 3 ... ``` Instead got this: ```julia var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 1, 100356, 0:0, 2865024254976) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 2, 559109, 1:8, 2862929218160) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 3, 559109, 2:8, 140717541655296) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 4, 559108, 0:0, 2863778627632) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 5, 559109, 2:8, 2862929219504) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 6, 1083396, 0:0, 2862929220400) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 7, 563204, 2:2, 2863778634640) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 8, 559109, 1:8, 140718125976085) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 9, 563204, 2:2, 2863778775680) var"##f1_FSMI#378"{Int64, Int64, UnitRange{Int64}, Int64}(0x00, 10, 563204, 2:2, 2863847320400) ``` **Package versions** ```julia (jl_WYdO8p) pkg> st Status `C:\Users\seatt\AppData\Local\Temp\jl_WYdO8p\Project.toml` [c5292f4c] ResumableFunctions v0.6.10 ) ```
1 条评论