From 7405278138f4e76d5e6278b3ed25f953ba9260e1 Mon Sep 17 00:00:00 2001 From: Araq Date: Sat, 7 Jan 2012 20:03:41 +0100 Subject: bugfix: type alias to generic; generic type not stripped away from for loop variable --- tests/compile/tgeneric.nim | 11 +++++++++++ tests/compile/tgeneric2.nim | 11 +++++++++++ tests/compile/tgenericprop.nim | 12 ++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 tests/compile/tgeneric.nim create mode 100644 tests/compile/tgeneric2.nim create mode 100644 tests/compile/tgenericprop.nim (limited to 'tests') diff --git a/tests/compile/tgeneric.nim b/tests/compile/tgeneric.nim new file mode 100644 index 000000000..8bda15c42 --- /dev/null +++ b/tests/compile/tgeneric.nim @@ -0,0 +1,11 @@ +import tables + +type + TX = TTable[string, int] + +proc foo(models: seq[TTable[string, float]]): seq[float] = + result = @[] + for model in models.items: + result.add model["foobar"] + + diff --git a/tests/compile/tgeneric2.nim b/tests/compile/tgeneric2.nim new file mode 100644 index 000000000..b9b8e5a62 --- /dev/null +++ b/tests/compile/tgeneric2.nim @@ -0,0 +1,11 @@ +import tables + +type + TX = TTable[string, int] + +proc foo(models: seq[TX]): seq[int] = + result = @[] + for model in models.items: + result.add model["foobar"] + + diff --git a/tests/compile/tgenericprop.nim b/tests/compile/tgenericprop.nim new file mode 100644 index 000000000..211fddecf --- /dev/null +++ b/tests/compile/tgenericprop.nim @@ -0,0 +1,12 @@ + +type + TProperty[T] = object of TObject + getProc: proc(property: TProperty[T]): T + setProc: proc(property: TProperty[T], value: T) + value: T + +proc newProperty[T](value: TObject): TProperty[T] = + result.getProc = proc (property: TProperty[T]) = + return property.value + + -- cgit 1.4.1-2-gfad0