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
- Asset Database warning is being logged continuously when creating a script in an embedded package
- Build process only shows Initializing when building for Android
- TileMap Palette preview flickers when scaled
- Shader Graph Blackboard "plus" sign is not centered within the button
- [URP] When Rendering Layers are enabled, the DepthNormalPrepass is enabled even if not used
Add comment