mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
* remove deprecated pragma syntax from 0.20.0 closes #4651, closes #16653 with a cheap fix for now due to how early `tfFinal` is set * remove type pragma between name and generics * undo removal, try removing bind expression (0.8.14) * fix test, unremove bind expr * remove again * Update changelog.md Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * dependencies @ HEAD & weave test dependencies * try fix package ci Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
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] {.inheritable.} = object
|
|
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
|