Reproduction steps:
1. Open the attached project "ReproProject"
2. Ensure IL2CPP is chosen as the Scripting Backend
3. Build the project
4. Observe the build process
Expected result: The build is completed successfully
Actual result: Build failed with the error “cannot convert 'Nullable_1_tEA06D91799914C5C8830F83CE2A8395868C14F02' to 'int32_t' (aka 'int') without a conversion operator bool L_44 = il2cpp_codegen_enum_has_flag((int32_t)L_40, (int32_t)L_43)"
Reproducible with: 2021.3.33f1, 2022.3.15f1, 2023.2.4f1, 2023.3.0a18
Testing environment: macOS(Intel) 14.0 Sonoma , Windows 10 Pro 22H2, Windows 11 (10.0.22000) (by user)
Full error:
Building Library/Bee/artifacts/MacStandalonePlayerBuildProgram/4g2s2/sow29cbn931k.o failed with output:
[1m/Users/timi.afolabi/Documents/Unity (work)/Real Cases/IN-62492_IL2CPPCrash/Library/Bee/artifacts/MacStandalonePlayerBuildProgram/il2cppOutput/cpp/Assembly-CSharp__1.cpp:13922:59: [0m[0;1;31merror: [0m[1mcannot convert 'Nullable_1_tEA06D91799914C5C8830F83CE2A8395868C14F02' to 'int32_t' (aka 'int') without a conversion operator[0m
bool L_44 = il2cpp_codegen_enum_has_flag((int32_t)L_40, (int32_t)L_43);
[0;1;32m ^~~~~~~~~~~~~
[0m1 error generated.
Notes:
1. This issue reproduces whether building for Standalone(macOS and Windows 10) or Android
2. Not Reproducible with Mono Scripting Backend