mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
* remove deprecated pragma syntax from 0.20.0 closes #4651, closes #16653 with a cheap fix for now due to how early `tfFinal` is set * remove type pragma between name and generics * undo removal, try removing bind expression (0.8.14) * fix test, unremove bind expr * remove again * Update changelog.md Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * dependencies @ HEAD & weave test dependencies * try fix package ci Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
30 lines
448 B
Nim
30 lines
448 B
Nim
discard """
|
|
targets: "cpp"
|
|
output: ''''''
|
|
disabled: true
|
|
"""
|
|
|
|
# bug #5140
|
|
{.emit:"""
|
|
#import <cassert>
|
|
|
|
template <typename X> class C {
|
|
public:
|
|
int d;
|
|
|
|
C(): d(1) { }
|
|
|
|
C<X>& operator=(const C<X> other) {
|
|
assert(d == 1);
|
|
}
|
|
};
|
|
""".}
|
|
|
|
type C[X] {.importcpp, header: "<stdio.h>", nodecl.} = object
|
|
proc mkC[X]: C[X] {.importcpp: "C<'*0>()", constructor, nodecl.}
|
|
|
|
proc foo(): C[int] =
|
|
result = mkC[int]()
|
|
|
|
let gl = foo()
|