Search Issue Tracker
Fixed in 2018.2.X
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
- NullReferenceException error thrown when changing Scenes in Play Mode
- Crash on "'anonymous namespace'::ConvertFBXShapes" when importing an FBX file
- Crash on Transform::RemoveFromParent when Object.DestroyImmediate() is called on Transform
- [Linux] Player consumes more CPU resources when it is running in the background
- Save process is triggered every time when prefab property values are changed by dragging
Add comment