| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
This is in reference to a [feature
request](https://github.com/nim-lang/Nim/issues/22142) that I posted.
I'm making this PR to demonstrate the suggested change and expect that
this should be scrutinized
---------
Co-authored-by: Bung <crc32@qq.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal of this PR is to make `typeRel` accurate to it's definition for
generics:
```
# 3) When used with two type classes, it will check whether the types
# matching the first type class (aOrig) are a strict subset of the types matching
# the other (f). This allows us to compare the signatures of generic procs in
# order to give preferrence to the most specific one:
```
I don't want this PR to break any code, and I want to preserve all of
Nims current behaviors. I think that making this more accurate will help
serve as ground work for the future. It may not be possible to not break
anything but this is my attempt.
So that it is understood, this code was part of another PR (#22143) but
that problem statement only needed this change by extension. It's more
organized to split two problems into two PRs and this issue, being
non-breaking, should be a more immediate improvement.
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
| |
* fix `var object` not matching better than `object`
fixes #13302
* remove comment for brevity
* try note
* try minimize breaks
|
|
|
|
|
| |
* clean up SOME pending/xxx/issue link comments
* great
|
|
|
|
|
| |
* fixes #20645
* better bugfix
|
|
|
|
|
|
|
|
|
| |
* fixes #3748
* fix the regression
* don't use the new allocator for the SSL wrapper
* fixes regression
|
|
|
|
|
| |
* 'lock levels' are deprecated, now a noop
* fixes tests
|
|
|
| |
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* deprecate unsafeAddr; extend addr
addr is now available for all addressable locations, unsafeAddr is deprecated and become an alias for addr
* follow @Vindaar's advice
* change the signature of addr
* unsafeAddr => addr (stdlib)
* Update changelog.md
* unsafeAddr => addr (tests)
* Revert "unsafeAddr => addr (stdlib)"
This reverts commit ab83c99c507048a8396e636bf22d55fdd84d7d1c.
* doc changes; thanks to @konsumlamm
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
|
|
|
|
| |
* style usages (openArray)
* revert doc changes
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* silence error output from template_various.nim
* any => auto in tests
* avoid showing failed for parseSpec since this is expected behavior in 2 cases: tincludefile.nim, tnav1.nim
* enforce InheritFromException
* fixup
|
|
|
|
|
|
|
| |
output spec (#16151)
* fix megatest newlines
* still allow missing trailing newline for now but in a more strict way than before
|
| |
|
| |
|
|
|
|
|
| |
* fix generic constraints
Co-authored-by: James Osborn <osborn@Jamess-MacBook-Pro.local>
|
|
|
|
|
| |
* fix some issues overloading with generics and inheritance
* fix passing procs with subtype matches
|
|
|
|
|
| |
* fix overloading issue with generic alias
* add test for inheritance depth
|
|
|
|
|
| |
* fix overloading case with generic alias
* revert reorganization of tests
|
| |
|
| |
|
|
|
|
|
|
| |
* fixes #8568
* fixes regression
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* change generic `tissues` name to more specific
* change `tvarious` to more specific names
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* merge magics
* merge metatype tests
* merge method tests
* merge objects tests
* change `import future` to `import sugar`
Nim in Action tests are left with `import future`, to ensure compatibility.
* merge overload tests
* merge proc tests
* merge procvar tests
* merge range tests
* merge seq tests
* merge sets tests
* remove wrong assert from `tsets3`
* fix `jsTests`
* better fix
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This enables macros accepting arbitrary keyword arguments:
log("foo", prop1 = "bar", prop2 = "baz")
As an added bonus, simple templates with varargs arguments can now
forward their params to procs accepting keyword arguments.
|
| |
|
| |
|
| |
|
|
|
|
| |
confusions with tuple types
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* fix varargs forwarding for templates; fixes #5455
* document the macros' varargs change in the news for 0.16.2
|
| |
|
| |
|
| |
|
| |
|