summary refs log tree commit diff stats
path: root/lib/pure/concurrency
diff options
context:
space:
mode:
authorBung <crc32@qq.com>2023-01-27 00:50:44 -0800
committerGitHub <noreply@github.com>2023-01-27 09:50:44 +0100
commita7bae919adb952362cb53206140872d2b7424b47 (patch)
treed72beb7e1a02e9ed7bd4308b363f27e4e08fb4a3 /lib/pure/concurrency
parent7031ea65cd220360b8e9f566fd28f01bc0bf53c4 (diff)
downloadNim-a7bae919adb952362cb53206140872d2b7424b47.tar.gz
Fix #13093 C++ Atomics: operator= is implicitly deleted because the default definition would be ill-formed (#21169)
* add test

* fix #17982 Invalid C++ code generation when returning discardable var T

* fix #13093

* cpp atomic good example

* clearify the condition
Diffstat (limited to 'lib/pure/concurrency')
-rw-r--r--lib/pure/concurrency/atomics.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/pure/concurrency/atomics.nim b/lib/pure/concurrency/atomics.nim
index c7b881bc5..49204bd4d 100644
--- a/lib/pure/concurrency/atomics.nim
+++ b/lib/pure/concurrency/atomics.nim
@@ -89,7 +89,7 @@ when defined(cpp) or defined(nimdoc):
         ## with other moSequentiallyConsistent operations.
 
   type
-    Atomic*[T] {.importcpp: "std::atomic", completeStruct.} = object
+    Atomic*[T] {.importcpp: "std::atomic", completeStruct, requiresInit.} = object
       ## An atomic object with underlying type `T`.
       raw: T