Jake Leahy
5ffd507014
Fix nimsuggest not showing suggestions for imported tuples ( #22241 )
...
* Add tests
Also test if exported all tuple fields works. This seems like a hacky solution so will try and dive further to find a better solution
* Always suggest tuple fields if it passes the filter
If the tuple we are accessing is in scope then all the fields will also be in scope
* Update tests so line numbers are correct
(cherry picked from commit 1b132ddaa2 )
2023-09-11 13:52:59 +02:00
Andreas Rumpf
322fc31041
fixes #22137 ( #22170 )
...
(cherry picked from commit ce0909f047 )
2023-09-11 13:52:59 +02:00
metagn
5e4648232b
make var object match better than object ( #22152 )
...
* fix `var object` not matching better than `object`
fixes #13302
* remove comment for brevity
* try note
* try minimize breaks
(cherry picked from commit 20037a4749 )
2023-09-11 13:52:59 +02:00
ringabout
3bd03d71a0
fixes #21110 ; duplicate proc definitions for inline iters ( #21136 )
...
fixes #21110 ; duplicate proc definitions for iters
(cherry picked from commit 88114948c4 )
2023-09-11 13:52:58 +02:00
ringabout
238efc025e
fixes #21231 ; template with module as parameter elides usage/checking of module name specifier ( #22109 )
...
* fixes #21231 ; template with module as parameter elides usage/checking of module name specifier
* add a test case
(cherry picked from commit ac7b8b678c )
2023-09-11 13:52:58 +02:00
Andreas Rumpf
9d573f4a1d
fixes #16331 ; aliasing of tuple construction within a single assignme… ( #22113 )
...
* fixes #16331 ; aliasing of tuple construction within a single assignment, great coding style
* added test case
(cherry picked from commit e8d0f1c3ae )
2023-09-11 13:52:58 +02:00
ringabout
070ecb036c
fixes #22049 ; fixes #22054 ; implicit conversion keeps varness ( #22097 )
...
* fixes #22054 ; codegen for var tuples conv
* rethink fixes
* add test cases
* templates only
* fixes var tuples
* keep varness no matter what
* fixes typ.isNil
* make it work for generics
* restore isSubrange
* add a test case as requested
(cherry picked from commit 77beb15214 )
2023-09-11 13:52:58 +02:00
metagn
107ec62baf
consider object types as declarative in templates ( #22106 )
...
* consider object types as declarative in templates
fixes #16005
* correct logic for nkRecList children, inject fields
* don't actually inject fields
(cherry picked from commit 3ac2d81601 )
2023-09-11 13:52:58 +02:00
ringabout
ffcccd5986
clean up isNilConversion for seqs, strings ( #22057 )
...
(cherry picked from commit 49e11d9dcc )
2023-09-11 12:02:29 +02:00
Juan Carlos
c001b11320
Improve compiler messages ( #22040 )
...
* Improve compiler messages
(cherry picked from commit ea91cfb305 )
2023-09-11 12:02:29 +02:00
Juan Carlos
e4c13c3fd4
Improve compiler messages ( #22028 )
...
* Improve compiler messages with simpler code
(cherry picked from commit 9f3d1b1290 )
2023-09-11 12:02:29 +02:00
heterodoxic
6b11a9ec28
fixes #15428 by updating deep open array copy codegen ( #21935 )
...
* fix #15428
* add test
(cherry picked from commit af3fd5a010 )
2023-09-11 12:02:28 +02:00
Bung
173a15b370
fix #21251 Compiler SIGSEGV when using SharedTable ( #21876 )
...
fix #21251
(cherry picked from commit 76a98fee65 )
2023-09-11 12:02:28 +02:00
Jason Beetham
c4380107d6
Fixed generic parameters failing to be used in inheritance ( #21866 )
...
(cherry picked from commit 28a116a477 )
2023-09-11 12:02:28 +02:00
ringabout
fcaacbf374
cursor fields cannot form reference cycles ( #21832 )
...
* cursor fields cannot form a reference cycle
* fixes typo
* fixes position
(cherry picked from commit ebbad9e960 )
2023-09-11 10:54:35 +02:00
metagn
547f205794
error on user pragma args ( #21776 )
...
closes #20978
(cherry picked from commit 44736d26cd )
2023-09-11 10:54:34 +02:00
metagn
cd0f805832
cheap fix for #10853 + better tuple subscript error message ( #21767 )
...
* cheap fix for #10853
* also better tuple subscript error message
* weird
(cherry picked from commit c2bcfd8cd9 )
2023-09-11 10:54:34 +02:00
ringabout
579efdabb0
fixes #21703 ; moveOrCopy should consider when vm ( #21721 )
...
(cherry picked from commit 0f226c0e48 )
2023-09-11 10:54:34 +02:00
metagn
7b99712bcf
fix iterator equality + add test for proc equality + fix sameType ( #21707 )
...
* fix iterator equality + add test also for procs
fixes #21706
* all targets
* and isNil and repr
* separate overloads, fix sameType
* more restricted sameType?
* merge overloads again??
* remove sametype change for now
* fix sameType anyway (CI failure was not related)
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
(cherry picked from commit 380dafcc32 )
2023-09-11 10:54:34 +02:00
ringabout
01ef1e1500
fixes #22208 ; Ambiguous error when import modules with same names but… ( #22211 )
...
fixes #22208 ; Ambiguous error when import modules with same names but different aliases
(cherry picked from commit d9a24b9b81 )
2023-08-11 12:41:50 +02:00
ringabout
bd4609f20e
fixes #22419 ; async/closure environment does not align local variables ( #22425 )
...
* fixes #22419 ; async/closure environment does not align local variables
* Apply suggestions from code review
* Update tests/align/talign.nim
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com >
* apply code review
* update tests
---------
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com >
(cherry picked from commit 5334dc921f )
2023-08-11 10:53:36 +02:00
metagn
1cd48e4b2a
fix new type inference for noreturn [backport] ( #22182 )
...
fixes #22180
Backported since apparently the new type inference was backported
(cherry picked from commit b35942ef83 )
2023-07-03 11:58:59 +02:00
Etan Kissling
49271783a3
macOS ar doesn't support @ syntax ( #22146 )
...
When the linker command line is long, Nim compiler generates a file for
passing the linker arguments. On `macOS`, that mechanism fails as the
`@` syntax is not supported by `ar`. Use `xargs` instead to pass the
linker arguments file.
(cherry picked from commit c6c85f84db )
2023-06-25 18:25:18 +02:00
ringabout
04d0716f37
fix #9423 followup #17594 : distinct generics now work in VM ( #21816 )
...
* fix #9423 distinct generics now work in vm
* fixes cpp tests
---------
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
(cherry picked from commit deaf684375 )
2023-06-19 13:12:01 +02:00
heterodoxic
476031f0ed
fix #10964 by honoring pointer deref syntax if a reified openarray is used to get an array's length ( #21925 )
...
* fix #10964
* add test
(cherry picked from commit 6128ef53c5 )
2023-06-15 14:45:58 +02:00
ringabout
c377a5b8a1
fixes #21863 ; Incorrect enum field access can cause internal error ( #21886 )
...
fixes 21863; Incorrect enum field access can cause internal error
(cherry picked from commit 761b927e47 )
2023-06-15 14:45:57 +02:00
ringabout
1355083708
fixes #21280 ; Enum with int64.high() value crashes compiler ( #21285 )
...
* fixes #21280 ; Enum with int64.high() value crashes compiler
* Update tests/enum/tenum.nim
* Update tests/enum/tenum.nim
* fixes tests
* Update tests/enum/tenum.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 8cf5643621 )
2023-06-15 12:43:59 +02:00
quantimnot
6c5d4946e4
Fix some styleCheck bugs ( #20095 )
...
refs #19822
Fixes these bugs:
* Style check violations in generics defined in foreign packages are raised.
* Builtin pragma usage style check violations in foreign packages are raised.
* User pragma definition style check violations are not raised.
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com >
(cherry picked from commit 365a753eed )
2023-06-15 12:43:59 +02:00
ringabout
77da35db17
fixes #21704 ; remove nfIsRef for genLit in VM ( #21765 )
...
* fixes #21704 ; remove `nfIsRef` for genLit
* remove nfIsRef from the output of macros
* make the logic better
* try again
* act together
* excl nfIsRef
(cherry picked from commit 53c15f24e9 )
2023-06-15 12:43:59 +02:00
Andreas Rumpf
4fc22cdd4d
fixes #21245 ; warn about destructors that can raise ( #21726 )
...
* fixes #21245 ; warn about destructors that can raise
* doc update
* progress
* typo
(cherry picked from commit 220b450489 )
2023-06-15 12:43:59 +02:00
Juan M Gómez
ae83058be2
implements #21620 : allowing to import multiple modules with shared names ( #21628 )
...
(cherry picked from commit c136ebf1ed )
2023-06-15 10:49:15 +02:00
metagn
0e4758ac30
actually fix #19015 ( #21680 )
...
* actually fix #19015
* more tests
* round out
(cherry picked from commit 9dc1f2dd0f )
2023-06-15 10:45:00 +02:00
ringabout
a058dcaf5f
fixes #21674 ; lent can be used in the fields or the cast type as a parameter ( #21684 )
...
* fixes #21674 ; `lent` can be used in the fields or the cast type as a parameter
* add a test case
* fix the test
(cherry picked from commit 65223e6f59 )
2023-06-15 10:44:50 +02:00
Jaremy Creechley
29f44c090e
change compile pragma to use mangled compile objects ( #21678 )
...
change compile pragma to use mangle
(cherry picked from commit 1af21c2668 )
2023-06-15 10:44:44 +02:00
narimiran
503e7b708b
Revert "fixes #22058 ; invalid free with {.noSideEffect.} in template ( #22088 )"
...
This reverts commit 7b9b173476 .
2023-06-14 21:49:02 +02:00
ringabout
7b9b173476
fixes #22058 ; invalid free with {.noSideEffect.} in template ( #22088 )
...
(cherry picked from commit 2e12d3e26b )
2023-06-14 11:07:27 +02:00
metagn
b686912622
fix dot calls with resolved symbols in templates ( #22076 )
...
* fix dot calls with resolved symbols in templates
* make old code work
* fix custom number literals test
* remove leftover debug marker
* enable "bug 9" test too
* fix renderer, add test for #7085
(cherry picked from commit 71801c2b8f )
2023-06-13 08:21:51 +02:00
Tanguy
c50adf10d9
Fix: don't track Defect in proc effect compatibility ( #22037 )
...
(cherry picked from commit a4f9413a65 )
2023-06-12 18:18:36 +02:00
ringabout
3601bb81c9
fixes #20900 ; Calling template through from generic function across module fails to build ( #21649 )
...
* fixes #20900 ; Calling template through from generic function across module fails to build
* sanother way
(cherry picked from commit 16f42084d3 )
2023-06-06 09:32:11 +02:00
ringabout
7142078707
fixes #3770 ; templates with untyped parameters resolve private fields… ( #22014 )
...
fixes #3770 ; templates with untyped parameters resolve private fields wrongly in generics (#21554 )
* fixes #3770 ; templates with untyped parameters resolve private fields wrongly
* add a test case for #3770
* rename to `nfSkipFieldChecking`
2023-06-06 15:26:17 +08:00
narimiran
b855404c71
Revert "fixes #3748 ( #20563 )"
...
This reverts commit 42ff3aa75a .
2023-05-31 07:16:59 +02:00
metagn
ad0e4974c8
support generic void return type for templates ( #21934 )
...
fixes #21920
(cherry picked from commit 2dcc7195da )
2023-05-29 08:56:48 +02:00
Andrey Makarov
23d4108773
Allow {.doctype.} in Nim 1.6 w/o implementation ( #21909 )
2023-05-26 18:56:47 +02:00
ringabout
249551dbfa
bring #21802 back; fixes #21753 [backport] ( #21815 )
...
* bring #21802 back; fixes #21753 [backport]
* adds tests and multiple fixes
* add test cases
* refactor and remove startId
* fixes custom hooks and adds tests
* handle tyUncheckedArray better
(cherry picked from commit 71dc929ad7 )
2023-05-24 11:23:40 +02:00
metagn
91fc5cb6c1
ignore inline hint for dynlib procs in codegen [backport] ( #21817 )
...
(cherry picked from commit 4b76037e5f )
2023-05-24 11:19:06 +02:00
ringabout
db88ef35dd
fixes #14444 ; add genLineDir before assignment ( #21201 )
...
* fixes #14444 ; add `genLineDir` before raises
* add a test case
* fixes differently
(cherry picked from commit 705da9d452 )
2023-05-24 09:06:23 +02:00
Bung
f222625b17
fix #20248;fix #6215;turns into simple CT error ( #21141 )
...
(cherry picked from commit 40b5c4c4c3 )
2023-05-16 11:19:13 +02:00
Aditya Siram
86a9f2b32f
Fix #20416 . Enable the recursion limit for ref/ptr types. ( #21092 )
...
(cherry picked from commit 2564b5c938 )
2023-05-15 15:10:36 +02:00
Aditya Siram
e3275b2040
Fixes #20348 ; only respect the recursion limit if the symbol's generic type has been generated by the compiler ( #20377 )
...
Fixes #20348
(cherry picked from commit be4bd8a0ed )
2023-05-15 15:10:36 +02:00
ringabout
1e72e25410
fixes #9839 ; fixes noReturn pragma doesn't work for non-simple templates ( #21048 )
...
(cherry picked from commit c5eb3fd4f0 )
2023-05-15 15:10:35 +02:00