Steps to reproduce:
- Create a new project using the Universal 3D template
- Import the attached "StaticsArrayProbe.cs" script into the Assets folder
- Observe the Console window
Actual results: The Console reports UAL0010 and UAL0013 for three of the six classes - the ones holding "(string, int)[]", "List<int>" and "object" - and nothing for the three holding "int[]", "string[]" and "(int, int)[]"
Expected results: "static readonly string[]" is treated the same as
"static readonly (string, int)[]"; both are mutable containers whose contents survive a disabled domain reload
Reproducible with versions: 6000.7.0b2
Can't test with versions: 6000.6.3f1 (the analyzer doesn't report anything there for any of the six cases)
Tested on (OS): macOS 26.6
Notes:
- A "static readonly" array is still a mutable container, and its contents survive Play mode with domain reload off. I mutated the string[] and int[] contents during Play, exited, and re-entered - both still held the mutated values in the next session, so the cases that aren't flagged do leak
- "string[]" is by far the more common of the two patterns in real project code, so the one that is skipped is the one most likely to matter. Either it should warn like "(string, int)[]", or arrays should be exempt and "(string, int)[]" should not warn - the two currently disagree