mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 02:12:11 +00:00
@@ -186,7 +186,7 @@ proc isPartOf*(a, b: PNode): TAnalysisResult =
|
||||
if res != arNo:
|
||||
result = res
|
||||
if res == arYes: break
|
||||
of nkCall:
|
||||
of nkCallKinds:
|
||||
result = arNo
|
||||
for i in 1 ..< b.len:
|
||||
let res = isPartOf(a, b[i])
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
discard """
|
||||
output: '''(10, (20, ))
|
||||
42'''
|
||||
42
|
||||
(x: 900.0, y: 900.0)
|
||||
(x: 900.0, y: 900.0)
|
||||
(x: 900.0, y: 900.0)'''
|
||||
"""
|
||||
|
||||
import strutils, sequtils
|
||||
@@ -37,3 +40,37 @@ var x = X(v: 42)
|
||||
|
||||
x = X(v: f(x.v))
|
||||
echo x.v
|
||||
|
||||
|
||||
# bug #11525
|
||||
type
|
||||
Point[T] = object
|
||||
x, y: T
|
||||
|
||||
proc adjustPos[T](width, height: int, pos: Point[T]): Point[T] =
|
||||
result = pos
|
||||
|
||||
result = Point[T](
|
||||
x: pos.x - (width / 2),
|
||||
y: pos.y - (height / 2)
|
||||
)
|
||||
|
||||
proc adjustPos2[T](width, height: int, pos: Point[T]): Point[T] =
|
||||
result = pos
|
||||
|
||||
result = Point[T](
|
||||
x: result.x - (width / 2),
|
||||
y: result.y - (height / 2)
|
||||
)
|
||||
|
||||
proc adjustPos3(width, height: int, pos: Point): Point =
|
||||
result = pos
|
||||
|
||||
result = Point(
|
||||
x: result.x - (width / 2),
|
||||
y: result.y - (height / 2)
|
||||
)
|
||||
|
||||
echo adjustPos(200, 200, Point[float](x: 1000, y: 1000))
|
||||
echo adjustPos2(200, 200, Point[float](x: 1000, y: 1000))
|
||||
echo adjustPos3(200, 200, Point[float](x: 1000, y: 1000))
|
||||
|
||||
Reference in New Issue
Block a user