Implementation of a parametric interface blows up the language server

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Verse

Summary

Concrete implementation of a parametric interface blows up the language server if inherited interface method has a function as one of its parametres.

Steps to Reproduce

Try to compile this code:

FooModule<public> := module:
    # Case 1 inteface
    test_interface<public>(t:type) := interface:
        Foo<public>(Bar:t):void

    test_interface_implementation<public> := class(test_interface(float)):
        Foo<override>(Bar: float):void={} # Case 1 implementation: works fine

    # Case 2 interface
    test_interface_func<public>(t:type) := interface:
        Foo<public>(Callback:t->void):void

    test_interface_func_implementation := class(test_interface_func(float)):
        Foo<override>(Callback: float->void):void={} # Case 2 implementation: language server crashes, if attempting to build verse UEFN crashes too

Expected Result

A compiler error if this is not supported of for it to work if it is supported,

Observed Result

This code will crash language server in VS code or entire UEFN if you try to compile it.

Platform(s)

All

Seems like this still is an issue. The lsp says:

Using a value of type type{_(:player->void)<transacts>:cancelable} as a value of type type{_(:any->void)<transacts>:cancelable} is not yet implemented.(3502)

when i try to override the Subscribe function of the subscribable.

@sharpneck Thank you for your report! Can you please re-post using the “New Issue” option on the Issues and Bug Reporting forums? Posts with this feature are connected directly into our development team so we can quickly get to them!For more information, such as how to get the reference ID, please check out the article here: Using the Creative and UEFN Bug Reporting Form

This was changed now to a compile error saying its not implemented. This is better than crashing the lsp :slight_smile:

UCB-1243 incident has been created. Status is ‘Awaiting Validation’.