sorear/niecza

C<eval 'sub f() {}';> in a module explodes with InvalidCastException

Closed this issue · 0 comments

$ niecza --version
This is Niecza Perl 6 v17-3-gdaf09af
$ cat A.pm
module A;
eval 'sub f() {}';
$ niecza -e 'use A'
Potential difficulties:
&f is declared but not used at (eval) line 1:
------> �[32msub f�[33m��[31m() {}�[0m

Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.
at Niecza.RuntimeUnit.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.SubInfo.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.SubInfo.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.Frame.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.P6opaque.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.SimpleVariable.Thaw (Niecza.Serialization.ThawBuffer tb, Int32 subcode) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.Frame.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.SubInfo.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.P6opaque.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.SimpleVariable.Thaw (Niecza.Serialization.ThawBuffer tb, Int32 subcode) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.Frame.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.RuntimeUnit.Thaw (Niecza.Serialization.ThawBuffer tb) [0x00000] in :0
at Niecza.Serialization.ThawBuffer.ObjRef () [0x00000] in :0
at Niecza.Serialization.ObjectRegistry.LoadUnit (System.String name) [0x00000] in :0
at Niecza.CLRBackend.DowncallReceiver.unit_need_unit (System.Object[] args) [0x00000] in :0
at Niecza.CLRBackend.DowncallReceiver.Call (System.Object[] args) [0x00000] in :0
at Niecza.CLRBackend.DowncallReceiver.get_Item (System.Object i) [0x00000] in :0
at /home/jlaire/code/ext/niecza/src/NieczaBackendDotnet.pm6 line 0 (downcall @ 1)
at /home/jlaire/code/ext/niecza/src/NieczaBackendDotnet.pm6 line 322 (Unit.FALLBACK @ 4)
at /home/jlaire/code/ext/niecza/src/NieczaActions.pm6 line 3603 (NieczaActions.statement_control:use @ 45)
at /home/jlaire/code/ext/niecza/src/STD.pm6 line 1416 (P6.statement_control:use @ 25)
at /home/jlaire/code/ext/niecza/src/STD.pm6 line 0 (STD.statement_control @ 3)
at /home/jlaire/code/ext/niecza/src/STD.pm6 line 1351 (P6.statement @ 11)
at /home/jlaire/code/ext/niecza/src/STD.pm6 line 1287 (P6.statementlist @ 16)
at /home/jlaire/code/ext/niecza/src/STD.pm6 line 1158 (P6.comp_unit @ 9)
at /home/jlaire/code/ext/niecza/src/STD.pm6 line 101 (STD.TOP @ 8)
at /home/jlaire/code/ext/niecza/boot/lib/CORE.setting line 2811 (Grammar.parse @ 4)
at /home/jlaire/code/ext/niecza/src/NieczaFrontendSTD.pm6 line 281 (NieczaFrontendSTD.parse @ 29)
at /home/jlaire/code/ext/niecza/src/NieczaCompiler.pm6 line 33 (NieczaCompiler.compile @ 7)
at /home/jlaire/code/ext/niecza/src/NieczaCompiler.pm6 line 64 (NieczaCompiler.compile_string @ 4)
at /home/jlaire/code/ext/niecza/src/niecza line 153 (mainline @ 66)
at /home/jlaire/code/ext/niecza/boot/lib/CORE.setting line 3840 (ANON @ 3)
at /home/jlaire/code/ext/niecza/boot/lib/CORE.setting line 3841 (module-CORE @ 65)
at /home/jlaire/code/ext/niecza/boot/lib/CORE.setting line 3841 (mainline @ 2)
at line 0 (ExitRunloop @ 0)