Open p6rt opened 10 years ago
HI ALl,
1. use NativeCall; 2. 3. class TopWindow {...} 4. 5. class TopWindow is repr('CPointer') is export { 6. 7. sub TopWindow_TopWindow_c() returns TopWindow is symbol('TopWindow_TopWindow_c') is native("whatever") { * } 8. 9. multi method new() returns TopWindow { 10. return TopWindow_TopWindow_c();} 11. 12. } 13. 14. 15. my $t = TopWindow.new();
if I run this,
I get
Unknown type TopWindow used in native call.
If you want to pass a struct, be sure to use the CStruct representation.
If you want to pass an array, be sure to use the CArray type.
in sub type_code_for at
D:\rakudogit\install/languages/perl6/lib\NativeCall.pm6:89
in sub return_hash_for at
D:\rakudogit\install/languages/perl6/lib\NativeCall.pm6:62
in method postcircumfix:\<( )> at
D:\rakudogit\install/languages/perl6/lib\NativeCall.pm6:127
in method new at D:\m\perl\cheadertoperl6\test.p6:9
in block \
if you remove class TopWindow {...}, it starts working.
I need to forward reference TopWindow as it is used in other classes, function calls.
And other may need it too "en el futuro"
Marton
Golf and change of behavior:
$ perl6 -e 'use NativeCall; class T is repr\
Workaround:
$ perl6 -e 'use NativeCall; class T is repr\
The RT System itself - Status changed from 'new' to 'open'
Migrated from rt.perl.org#122815 (status was 'open')
Searchable as RT122815$