mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-12 14:23:45 +00:00
Otherwise, `sink T` is kept as it is. This PR treats sink types as its base types for the arguments. So the concept would match both cases Required by https://github.com/nim-lang/Nim/pull/24724
19 lines
313 B
Nim
19 lines
313 B
Nim
type
|
|
Map[K, V] = concept m, var mvar
|
|
m[K] is V
|
|
m[K] = V
|
|
|
|
Table[K, V] = object
|
|
|
|
proc `[]=`[K, V](m: Table[K, V], x: sink K, y: sink V) =
|
|
let s = x
|
|
|
|
proc `[]`[K, V](m: Table[K, V], x: sink K): V =
|
|
let s = x
|
|
|
|
proc bat[K, V](x: Map[K, V]): V =
|
|
let m = x
|
|
|
|
var s = Table[int, string]()
|
|
discard bat(s)
|