Excuse the necromancy, just wanted to share that the original `&` array 
concatenation works in current Nim, albeit not as a template.
    
    
    func `&`[ia: static[int], ib: static[int], T](a: array[ia, T], b: array[ib, 
T]): array[ia + ib, T] =
      for i in 0 ..< ia:
        result[i] = a[i]
      for i in 0 ..< ib:
        result[ia + i] = b[i]
    
    const a = [1, 2] & [3, 4] & [5, 6]
    assert a.type is array[6, int]
    assert a == [1, 2, 3, 4, 5, 6]
    
    assert [1.0, 2.0] & [3.0, 4.0] is array[4, float]
    assert [1.0, 2.0] & [3.0, 4.0] == [1.0, 2.0, 3.0, 4.0]
    
    
    Run

Reply via email to