mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
fix deprecated example (#18721)
This commit is contained in:
@@ -1082,7 +1082,7 @@ its entirety to see some of the complexities.
|
||||
Concrete syntax:
|
||||
|
||||
.. code-block:: nim
|
||||
type Obj[T] = object {.inheritable.}
|
||||
type Obj[T] {.inheritable.} = object
|
||||
name: string
|
||||
case isFat: bool
|
||||
of true:
|
||||
@@ -1094,10 +1094,18 @@ AST:
|
||||
|
||||
.. code-block:: nim
|
||||
# ...
|
||||
nnkPragmaExpr(
|
||||
nnkIdent("Obj"),
|
||||
nnkPragma(nnkIdent("inheritable"))
|
||||
),
|
||||
nnkGenericParams(
|
||||
nnkIdentDefs(
|
||||
nnkIdent("T"),
|
||||
nnkEmpty(),
|
||||
nnkEmpty())
|
||||
),
|
||||
nnkObjectTy(
|
||||
nnkPragma(
|
||||
nnkIdent("inheritable")
|
||||
),
|
||||
nnkEmpty(),
|
||||
nnkEmpty(),
|
||||
nnkRecList( # list of object parameters
|
||||
nnkIdentDefs(
|
||||
|
||||
@@ -871,11 +871,20 @@ static:
|
||||
|
||||
scope:
|
||||
macro testRecCase(ast: untyped): untyped =
|
||||
ast.peelOff({nnkStmtList, nnkTypeSection})[2].matchAst:
|
||||
of nnkObjectTy(
|
||||
nnkPragma(
|
||||
ident"inheritable"
|
||||
ast.peelOff({nnkStmtList, nnkTypeSection}).matchAst:
|
||||
of nnkTypeDef(
|
||||
nnkPragmaExpr(
|
||||
ident"Obj",
|
||||
nnkPragma(ident"inheritable")
|
||||
),
|
||||
nnkGenericParams(
|
||||
nnkIdentDefs(
|
||||
ident"T",
|
||||
nnkEmpty(),
|
||||
nnkEmpty())
|
||||
),
|
||||
nnkObjectTy(
|
||||
nnkEmpty(),
|
||||
nnkEmpty(),
|
||||
nnkRecList( # list of object parameters
|
||||
nnkIdentDefs(
|
||||
@@ -914,6 +923,7 @@ static:
|
||||
ident"T"
|
||||
),
|
||||
nnkEmpty()
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -922,10 +932,8 @@ static:
|
||||
):
|
||||
echo "ok"
|
||||
|
||||
|
||||
|
||||
testRecCase:
|
||||
type Obj[T] = object {.inheritable.}
|
||||
type Obj[T] {.inheritable.} = object
|
||||
name: string
|
||||
case isFat: bool
|
||||
of true:
|
||||
|
||||
Reference in New Issue
Block a user