From a4ade435365065b7722d8111e0ad298f4f766452 Mon Sep 17 00:00:00 2001 From: zah Date: Mon, 30 Sep 2019 23:24:57 +0300 Subject: macros.newLit now works for ref object types (#12307) --- tests/macros/tnewlit.nim | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests') diff --git a/tests/macros/tnewlit.nim b/tests/macros/tnewlit.nim index 194f035ba..70683f880 100644 --- a/tests/macros/tnewlit.nim +++ b/tests/macros/tnewlit.nim @@ -5,6 +5,14 @@ type a : int b : string + RefObject = ref object + x: int + + RegularObject = object + x: int + + ObjectRefAlias = ref RegularObject + macro test_newLit_MyType: untyped = let mt = MyType(a: 123, b:"foobar") result = newLit(mt) @@ -167,3 +175,20 @@ macro test_newLit_set: untyped = block: let tmp: set[MyEnum] = {MyEnum.low .. MyEnum.high} doAssert tmp == test_newLit_set + +macro test_newLit_ref_object: untyped = + var x = RefObject(x: 10) + return newLit(x) + +block: + let x = test_newLit_ref_object() + doAssert $(x[]) == "(x: 10)" + +macro test_newLit_object_ref_alias: untyped = + var x = ObjectRefAlias(x: 10) + return newLit(x) + +block: + let x = test_newLit_object_ref_alias() + doAssert $(x[]) == "(x: 10)" + -- cgit 1.4.1-2-gfad0