summary refs log tree commit diff stats
path: root/tests/macros/tnewlit.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/macros/tnewlit.nim')
-rw-r--r--tests/macros/tnewlit.nim25
1 files changed, 25 insertions, 0 deletions
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)"
+