Search Issue Tracker
Fixed in 2018.2
Votes
0
Found in
5.5.4p5
Issue ID
988907
Regression
No
[iOS][IL2cpp] The C++ code generation done by IL2CPP is wrong when using the C# "out" keyword
Reproduction Steps:
1. Open User's project
2. Set Scripting Backend to IL2CPP
3. Open "ffi_unity.cs" and "ffi.cs"
Correct:
4. Set print_and_change_value_ios parameter to "ref"
5. Build for iOS
6. In Xcode console notice that "argument current value is 11" is printed
Incorrect:
7. Change print_and_change_value_ios parameter to "out"
8. Build for iOS
9. Notice that "argument current value is 0" is printed.
Note: User included very useful README.md that explains the bug more in depth.
Expected behaviour: Ref and Out keywords work the same.
Actual result: C# Out keyword is working incorrectly with IL2CPP code generation.
Reproduced on versions: Unity 5.5.6f1, 5.6.5p1, 2017.1.3p1, 2017.2.1p3, 2017.3.1f1, 2018.1.0b6
Reproduced on device: iPhone 7 Plus iOS 10.3.2
Did not reproduce with Mono.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Editor fails to launch with silent crash in mono on windows
- [GPU PLM] Part of baked shadows are broken when hitting a backface
- [DX12] Nothing is being rendered when using Alt+Enter to maximize a resized windowed player
- GL shader reflection is truncated or crash occurs when struct is used from named CBuffer with at least one other constant
- Having a struct in the global CBuffer makes OpenGLCore and GLES3 targets not report reflection for the CBuffer
Add comment