t21958.nim 189 B

1234567891011
  1. discard """
  2. action: compile
  3. """
  4. type
  5. Ct*[T: SomeUnsignedInt] = distinct T
  6. template `shr`*[T: Ct](x: T, y: SomeInteger): T = T(T.T(x) shr y)
  7. var x: Ct[uint64]
  8. let y {.used.} = x shr 2