NullReferenceException when non-generic type is given type parameters

Environment

  • Pythonnet version: latest git commit
  • Python version: 3.7
  • Operating System: Windows 10 64-bit

Details

The following incorrect Python code produces a confusing NullReferenceException, instead of a more helpful error message:

from System.Collections import IList
IList[bool]
  • If there was a crash, please include the traceback here.
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at Python.Runtime.GenericUtil.GenericByName(String ns, String name, Int32 paramCount)
   at Python.Runtime.ClassBase.type_subscript(IntPtr idx)

A more helpful message would be: System.Collections.IList is not a generic type