@Stefan_Salewski is right

Change to that
    
    
    proc pt*[N:SomeNumber](x, y, z:N):tuple[x,y,z:float] =
      return (x: x.float, y: y.float, z: z.float)
    
    let t1 = pt(0,0,0)
    let t2 = pt(0.1, 0, 0)
    let t3 = pt(0.1, 0.3, 0)
    let t4 = pt(0.0, 0.3, 0)       #<-----
    echo t1
    echo t2
    echo t3
    echo t4
    
    
    Run

Or that 
    
    
    proc pt*(x, y, z:float):tuple[x,y,z:float] =
      # ^^^^^
      return (x: x.float, y: y.float, z: z.float)
    
    let t1 = pt(0,0,0)
    let t2 = pt(0.1, 0, 0)
    let t3 = pt(0.1, 0.3, 0)
    let t4 = pt(0, 0.3, 0)       #<-----
    echo t1
    echo t2
    echo t3
    echo t4
    
    
    Run

Reply via email to