> Child1[T: FloatingPoint] = ref Parent1

It means that Child1 is just a reference to Parent1, so no additional fields 
allowed after such a declaration. I assume you intended to write something like 
this
    
    
    type
      floatingPoint = float | float64 | float32
      Parent1Obj = object of RootObj  # Parent object should be non-final
      Parent1 = ref Parent1Obj
      Parent2 = ref Parent1
      Parent3 = ref Parent1
      Child1[T: floatingPoint] = ref object of Parent1Obj # Child1 is a 
reference to object inherited from Parent1Obj
        nOutNodes: uint
        outputNodes: seq[seq[T]]
    

Reply via email to