diff --git a/test/rustint/core_test.clj b/test/rustint/core_test.clj index 66fe0ad..d8649bc 100644 --- a/test/rustint/core_test.clj +++ b/test/rustint/core_test.clj @@ -879,3 +879,30 @@ )) ) ) + +(deftest test-generar-ref-01 + (testing "Test 01 generar ref" + (is (= + (generar-ref [ + (symbol ")") + (list (symbol ";") 'println! (symbol "(") "{}" (symbol ",") 'v (symbol ")") (symbol ";") (symbol "}")) + ['fn 'inc (symbol "(") 'v (symbol ":") (symbol "&") 'mut 'i64 (symbol ")") (symbol "{") '* 'v (symbol "+=") 1 (symbol ";") (symbol "}") 'fn 'main (symbol "(") (symbol ")") (symbol "{") 'let 'mut 'v (symbol ":") 'i64 (symbol "=") 5 (symbol ";") 'inc (symbol "(") (symbol "&") 'mut 'v] + 8 + [[0 2] [['inc ['fn [(list ['v (symbol ":") (symbol "&") 'mut 'i64]) ()]] 2] ['main ['fn [() ()]] 6] ['v ['var-mut 'i64] 0]]] + 1 + [['CAL 6] 'HLT ['POPARG 0] ['PUSHFI 1] ['POPADDREF 0] 'RETN ['PUSHFI 5] ['POP 0]] + [[2 ['i64 nil]] [6 ['i64 nil]]] + ]) + [ + (symbol")") + (list (symbol ";") 'println! (symbol"(") "{}" (symbol ",") 'v (symbol ")") (symbol ";") (symbol "}")) + ['fn 'inc (symbol "(") 'v (symbol ":") (symbol "&") 'mut 'i64 (symbol ")") (symbol "{") '* 'v (symbol "+=") 1 (symbol ";") (symbol "}") 'fn 'main (symbol "(") (symbol ")") (symbol "{") 'let 'mut 'v (symbol ":") 'i64 (symbol "=") 5 (symbol ";") 'inc (symbol "(") (symbol "&") 'mut 'v] + 8 + [[0 2] [['inc ['fn [(list ['v (symbol ":") (symbol "&") 'mut 'i64]) ()]] 2] ['main ['fn [() ()]] 6] ['v ['var-mut 'i64] 0]]] + 1 + [['CAL 6] 'HLT ['POPARG 0] ['PUSHFI 1] ['POPADDREF 0] 'RETN ['PUSHFI 5] ['POP 0]] + [[2 ['i64 nil]] [6 ['i64 nil]]] + ] + )) + ) +)