Search Issue Tracker
Won't Fix
Votes
0
Found in
3.2.0f2
Issue ID
389962
Regression
No
AOT failure when generic type array is exposed using ReadOnlyCollection<>
Looks like AOT failure. When accessing Node<T>.node directly - everything works fine. If it's wrapped with ReadOnlyCollection<> property, then AOT fails. Throws assert in mono:
Node<Test>[] doesn't implement interface System.Collections.Generic.IEnumerable<Node<T>>
* Assertion: should not be reached at mini-trampolines.c:183
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
interface ITest
{
void DoStuff();
}
class Test: ITest
{
public void DoStuff()
{
Debug.Log("DoStuff");
}
}
class Node<T>
{
public Node<T>[] nodes = new Node<T>[1];
public ReadOnlyCollection<Node<T>> Nodes { get { return new ReadOnlyCollection<Node<T>>(nodes); } }
}
class Tree<T> where T: class
{
public void DoStuff(Node<T> node, T element)
{
node = new Node<T>();
foreach (var entry in node.Nodes)
if (entry == null)
Debug.Log("Awesome");
Debug.Log("The end");
}
}
public class NewBehaviourScript : MonoBehaviour {
void Start () {
var tree = new Tree<Test>();
tree.DoStuff(null, null);
}
}
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Blank, Light-Themed "Create Node" window becomes visible on the next project open
- UI Elements/Layout inconsistencies in the Particle System component
- The Game view and Scene view fail to render when launching the Editor with a maximized Render Graph Viewer window
- "List is empty" is poorly visible in the "Create Node" window
- [Android] GameObject with a custom shader becomes invisible when deployed with the Vulkan Graphics API
Add comment