mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-13 06:43:52 +00:00
The PR branch had merge conflicts with `devel` due to a major compiler refactoring that extracted type definitions from `compiler/ast.nim` into a new `compiler/astdef.nim` file. ## Changes - Resolved conflict in `compiler/ast.nim` by accepting `devel`'s refactored structure - Merged 763 commits from `devel` branch (commit range: `ce6a345..b3273e7`) - Preserved original PR changes removing deprecated symbols from `lib/core/macros.nim` The core PR functionality (removal of deprecated macros API since v0.18.1) remains intact while incorporating the upstream AST refactoring. <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
15 lines
440 B
Nim
15 lines
440 B
Nim
type
|
|
BaseObject*[N: static int] = object
|
|
value*: int
|
|
|
|
Distinct1*[N: static int] = distinct BaseObject[N]
|
|
Distinct2*[N: static int] = distinct BaseObject[N]
|
|
|
|
proc `=copy`*[N: static int](dest: var Distinct2[N], src: Distinct2[N]) {.error: "no".}
|
|
|
|
proc make1*[N: static int](): Distinct1[N] =
|
|
Distinct1[N](BaseObject[N](value: 0))
|
|
|
|
proc make2*[N: static int](u: sink Distinct1[N]): Distinct2[N] =
|
|
Distinct2[N](BaseObject[N](u))
|