Search Issue Tracker
Fixed in 5.1.4
Votes
0
Found in
5.1.2p3
Issue ID
718696
Regression
No
[IL2CPP] fails to convert unsafe void* to a struct pointer type
Unity Editor with the IL2CPP scripting backend generates an invalid code when the project has a script performing a typecast from unsafe void* to a struct pointer type.
Example:
public void testUnsafe(void* vp) {
(TestStruct)vp = new TestStruct(123);
}
This emits the following C++ code:
void* L_0 = ___vp;
TestStruct_t1 L_1 = {0};
TestStruct__ctor_m0(&L_1, ((int32_t)123), /hidden argument/NULL);
L_0 = L_1; // <<< ERROR
return;
Xcode fails to compile the code because L_0 is not assignable.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [Android][iOS][UnityPlayerActivity] Legacy InputField.onEndEdit is not called when ending text edit
- Transform corruption and/or crash on PhysX::CreateCharacterController when spawning physics objects into Prefab stages
- UNITY_EDITOR data is Serialized into AssetBundle when building on the active Build Target
- "TLS Allocator ALLOC_TEMP_TLS, underlying allocator ALLOC_TEMP_MAIN has unfreed allocations..." error when changing the Packages "Cache Location" folder
- CompilationPipeline.assemblyCompilationFinished() hangs unity when reloading domain
Add comment