summary refs log tree commit diff stats
path: root/tests/concepts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/concepts')
-rw-r--r--tests/concepts/tstackconcept.nim19
1 files changed, 16 insertions, 3 deletions
diff --git a/tests/concepts/tstackconcept.nim b/tests/concepts/tstackconcept.nim
index dc75df5ff..11d6505cf 100644
--- a/tests/concepts/tstackconcept.nim
+++ b/tests/concepts/tstackconcept.nim
@@ -2,11 +2,15 @@ discard """
 output: "20\n10"
 msg: '''
 INFERRED int
+VALUE TYPE int
+VALUE TYPE NAME INT
 IMPLICIT INFERRED int int
+IMPLICIT VALUE TYPE int int
+IMPLICIT VALUE TYPE NAME INT INT
 '''
 """
 
-import typetraits
+import typetraits, strutils
 
 template reject(e: expr) =
   static: assert(not compiles(e))
@@ -26,14 +30,23 @@ type
     s.push(T)
     s.pop() is T
 
+    type ValueType = T
+    const ValueTypeName = T.name.toUpper
+
 proc genericAlgorithm[T](s: var Stack[T], y: T) =
-  static: echo "INFERRED ", T.name
+  static:
+    echo "INFERRED ", T.name
+    echo "VALUE TYPE ", s.ValueType.name
+    echo "VALUE TYPE NAME ", s.ValueTypeName
 
   s.push(y)
   echo s.pop
 
 proc implicitGeneric(s: var Stack): auto =
-  static: echo "IMPLICIT INFERRED ", s.T.name, " ", Stack.T.name
+  static:
+    echo "IMPLICIT INFERRED ", s.T.name, " ", Stack.T.name
+    echo "IMPLICIT VALUE TYPE ", s.ValueType.name, " ", Stack.ValueType.name
+    echo "IMPLICIT VALUE TYPE NAME ", s.ValueTypeName, " ", s.ValueTypeName
 
   return s.pop()