summary refs log tree commit diff stats
path: root/tests/errmsgs/tproper_stacktrace3.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/errmsgs/tproper_stacktrace3.nim')
-rw-r--r--tests/errmsgs/tproper_stacktrace3.nim24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/errmsgs/tproper_stacktrace3.nim b/tests/errmsgs/tproper_stacktrace3.nim
new file mode 100644
index 000000000..97d63e6ec
--- /dev/null
+++ b/tests/errmsgs/tproper_stacktrace3.nim
@@ -0,0 +1,24 @@
+discard """
+  matrix: "--stackTrace:on"
+  outputsub: '''tproper_stacktrace3.nim(22) main'''
+  exitcode: 1
+"""
+
+# bug #5400
+
+type Container = object
+  val: int
+
+proc actualResolver(x: ptr Container): ptr Container = x
+
+template resolve(): untyped = actualResolver(db)
+
+proc myfail(): int =
+  doAssert false
+
+proc main() =
+  var db: ptr Container = nil
+  # actualResolver(db).val = myfail() # actualResolver is not included in stack trace.
+  resolve().val = myfail() # resolve template is included in stack trace.
+
+main()