A little puzzler: 
    
    
    proc add_size[T : int](n : T) : T = n + n.sizeof.T
    proc add_size(n : int16) : int16 = n + 20'i16 # Bonus !
    
    let n_1 : int8  = 1
    let n_2 : int16 = add_size(n_1)
    let n_22 : int32 = add_size(n_2)
    let n_26 : int = add_size(n_22)
    let n_34 : int64 = add_size(n_26)
    
    echo n_34 # output : 34  (on 64bit system)
    
    
    Run

Reply via email to