kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

36_musttail_sret.toy (409B)


      1 record Triple {
      2   a: i64,
      3   b: i64,
      4   c: i64,
      5 }
      6 
      7 fn make(x: i64, y: i64, z: i64): Triple {
      8   let t: Triple = Triple { a: x, b: y, c: z };
      9   return t;
     10 }
     11 
     12 fn forward(x: i64, y: i64, z: i64): Triple {
     13   return musttail make(z, x, y);
     14 }
     15 
     16 fn __user_main(): i64 {
     17   var t: Triple = Triple { a: 0, b: 0, c: 0 };
     18   t = forward(10, 13, 19);
     19   return t.a + t.b + t.c;
     20 }
     21 
     22 fn main(): i32 { return __user_main() as i32; }