mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 01:44:37 +00:00
* merge generics issues tests * merge tgeneric * merge test with local imports * merge tcan tests * merge matcher tests * more issue tests merged * one more tcan test * merge various small tests into one file * add a test for #3717
47 lines
653 B
Nim
47 lines
653 B
Nim
discard """
|
|
output: '''
|
|
'''
|
|
"""
|
|
|
|
# Created by Eric Doughty-Papassideris on 2011-02-16.
|
|
|
|
block talias_generic:
|
|
type
|
|
TGen[T] = object
|
|
TGen2[T] = TGen[T]
|
|
|
|
|
|
block talias_specialised:
|
|
type
|
|
TGen[T] = object
|
|
TSpef = TGen[string]
|
|
var s: TSpef
|
|
|
|
|
|
block tinherit:
|
|
type
|
|
TGen[T] = object of RootObj
|
|
x, y: T
|
|
TSpef[T] = object of TGen[T]
|
|
|
|
var s: TSpef[float]
|
|
s.x = 0.4
|
|
s.y = 0.6
|
|
|
|
|
|
block tspecialise:
|
|
type
|
|
TGen[T] = object {.inheritable.}
|
|
TSpef = object of TGen[string]
|
|
|
|
|
|
block tspecialised_equivalent:
|
|
type
|
|
TGen[T] = tuple[a: T]
|
|
TSpef = tuple[a: string]
|
|
|
|
var
|
|
a: TGen[string]
|
|
b: TSpef
|
|
a = b
|