Another verse snippet causing the editor to crash (EXCEPTION_ACCESS_VIOLATION)

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Stability

Summary

Verse snippet causes the entire editor to crash at project load time or at verse build time.

Steps to Reproduce


result_interface(success: type, failure: type) := interface {
  Success()<transacts><decides>: success
  Failure()<transacts><decides>: failure
}

ResultModule := module {
  result_impl(success: type, failure: type) := class(result_interface(success, failure)) {
    S: ?success = false
    F: ?failure = false
    
    Success<override>()<transacts><decides>: success = { 
      S?
    }
    Failure<override>()<transacts><decides>: failure = {
      F?
    }
  }

  BuildSuccess<public>(S: s, f: type where s: type): result_interface(s, f) = {
    result_impl(s, f) {
      S := option { S }
    }
  }

  BuildFailure<public>(F: f, s: type where f: type): result_interface(s, f) = {
    result_impl(s, f) {
      F := option { F }
    }
  }
}

result_builder(success: type, failure: type) := class {
  Sucess(S: success): result_interface(success, failure) = {
    ResultModule.BuildSuccess(S, failure) # <--- this line
  }

  Failure(F: failure): result_interface(success, failure) = {
    ResultModule.BuildFailure(F, success) # <--- this line
  }
}

result(success: type, failure: type): result_builder(success, failure) = result_builder(success, failure) {}

Expected Result

Nothing should crash, it should just work.

Observed Result

Editor crashes.

[2024.05.03-18.59.59:904][215]LogSolarisRuntime: Releasing generated types for Verse package project_name/Assets.
[2024.05.03-18.59.59:929][215]LogSolarisRuntime: Releasing generated types for Verse package project_name.
[2024.05.03-18.59.59:940][215]LogSolarisIde: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(35,34, 35,41): Script Error 9000: Local variable `__dupe___unnamed_parameter_220` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(35,34, 35,41): Script error 9000: Local variable `__dupe___unnamed_parameter_220` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(35,34, 35,41) : Script error 9000: Local variable `__dupe___unnamed_parameter_220` not found internally in VM.
[2024.05.03-18.59.59:941][215]LogSolarisIde: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(35,34, 35,41): Script Error 9000: Local variable `__dupe___unnamed_parameter_220` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(35,34, 35,41): Script error 9000: Local variable `__dupe___unnamed_parameter_220` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(35,34, 35,41) : Script error 9000: Local variable `__dupe___unnamed_parameter_220` not found internally in VM.
[2024.05.03-18.59.59:941][215]LogSolarisIde: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(39,34, 39,41): Script Error 9000: Local variable `__dupe___unnamed_parameter_218` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(39,34, 39,41): Script error 9000: Local variable `__dupe___unnamed_parameter_218` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(39,34, 39,41) : Script error 9000: Local variable `__dupe___unnamed_parameter_218` not found internally in VM.
[2024.05.03-18.59.59:941][215]LogSolarisIde: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(39,34, 39,41): Script Error 9000: Local variable `__dupe___unnamed_parameter_218` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(39,34, 39,41): Script error 9000: Local variable `__dupe___unnamed_parameter_218` not found internally in VM.
[2024.05.03-18.59.59:941][215]VerseBuild: Error: D:/Fortnite Projects/project_name/Plugins/project_name/Content/a_result.verse(39,34, 39,41) : Script error 9000: Local variable `__dupe___unnamed_parameter_218` not found internally in VM.
[2024.05.03-18.59.59:950][215]LogSolarisRuntime: Releasing generated types for Verse package project_name.

Platform(s)

PC

The status of FORT-741838 incident has been moved from ‘In Testing’ to ‘Closed’. Resolution Reason: ‘Fixed’

Just curious (trying to wrap my head around this) what exactly is this supposed to do?

I get confused by the alternating use of snake case here where I read this to mean that the function output of Success() and Failure() are type success/failure which is the variable namespace of what’s being passed into the function which inherently doesn’t compute for me.

Can you explain what I am missing about this because I think that I may be missing something about how this works in regards to utilizing functions as parameters.