mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-30 20:28:00 +00:00
remove deprecated type pragma syntax, fix bugs that required it (#20199)
* 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>
This commit is contained in:
@@ -3,7 +3,7 @@ discard """
|
||||
"""
|
||||
|
||||
type
|
||||
TA = object {.pure, final.}
|
||||
TA {.pure, final.} = object
|
||||
x: string
|
||||
|
||||
var
|
||||
|
||||
@@ -11,11 +11,11 @@ ob = T[int](elem: 23)
|
||||
doAssert ob.elem == 23
|
||||
|
||||
type
|
||||
TTreeIteratorA* = ref object {.inheritable.}
|
||||
TTreeIteratorA* {.inheritable.} = ref object
|
||||
|
||||
TKeysIteratorA* = ref object of TTreeIteratorA #compiles
|
||||
|
||||
TTreeIterator* [T,D] = ref object {.inheritable.}
|
||||
TTreeIterator* [T,D] {.inheritable.} = ref object
|
||||
|
||||
TKeysIterator* [T,D] = ref object of TTreeIterator[T,D] #this not
|
||||
|
||||
|
||||
5
tests/types/told_pragma_syntax1.nim
Normal file
5
tests/types/told_pragma_syntax1.nim
Normal file
@@ -0,0 +1,5 @@
|
||||
discard """
|
||||
errormsg: "invalid indentation"
|
||||
"""
|
||||
|
||||
type Foo = object {.final.}
|
||||
5
tests/types/told_pragma_syntax2.nim
Normal file
5
tests/types/told_pragma_syntax2.nim
Normal file
@@ -0,0 +1,5 @@
|
||||
discard """
|
||||
errormsg: "invalid indentation"
|
||||
"""
|
||||
|
||||
type Bar {.final.} [T] = object
|
||||
Reference in New Issue
Block a user