Andreas Rumpf
dee8e6e98a
gc: destructors is beginning to work ( #10483 )
...
* kochdocs.nim: code cleanup
* docgen: nicer indentation
* parser.nim: code cleanup
* fixes #10458
* make tests green again
* make =destroy mixins
* gc:destructors: produced C code is almost working
* --gc:destructors simple program compiles (but leaks memory)
* gc:destructors make examples compile in C++ mode
* destructors: string implementation bugfixes
* strs.nim: minor code cleanup
* destructors: builtin seqs are beginning to work
* remove debugging helpers
2019-01-29 15:12:16 +01:00
LemonBoy
6825430831
Restrict ptr/ref to ptr/ref implicit conversion ( #10411 )
...
* Restrict ptr/ref to ptr/ref implicit conversion
Fixes #10409
* Make the ptr conversions explicit in db_odbc
2019-01-22 11:17:20 +01:00
LemonBoy
ee89ba6bdb
Fix subtype conversion w/ varargs arguments ( #10402 )
...
The type matching is done on the `T` of the `varargs[T]` so the
conversion must be performed to `T` and not to the whole type.
This problem is only noticeable with the cpp backend since C doesn't
give a damn shit about your fucking (wrong) types.
Fixes #9845
2019-01-21 19:12:17 +01:00
Araq
aa7ad88978
fixes #10075 [backport]
2019-01-13 15:52:50 +01:00
Araq
4a6d699bc5
C++: make async tests green on Windows
2018-12-21 22:03:41 +01:00
cooldome
c50a04adc5
More converter fixes ( #9737 )
...
* fixes #9735
* fixes #9736
* fixes #3503
2018-11-26 09:51:13 +01:00
cooldome
2ac7f52388
Fixes multiple bugs with sink arguments ( #9802 )
...
* fixes #9781
* fix spacing
2018-11-26 09:45:45 +01:00
cooldome
c5c4da4f3c
Converter bug fixes ( #9700 )
...
* Fixes #9698
* Fixes #9699
2018-11-15 13:14:48 +01:00
Andreas Rumpf
6e8ed8c6fa
added first version of a nimfind tool for the poor souls that don't have a good nimsuggest integretation
2018-11-14 16:04:54 +01:00
Andreas Rumpf
cb4d810659
make Nim take roughly 100MB less RAM for bootstrapping via a new compiler switch -d:leanCompiler; useful for the Raberry PI
2018-11-07 18:36:52 +01:00
Araq
c735b75f6f
compiler cleanup: flag tfOldSchoolExprStmt is gone
2018-11-06 13:55:03 +01:00
LemonBoy
16a70c84aa
Fixes 6544 ( #9427 )
...
* Fix call to converters with var/lent args
Fixes #6544
* Fix printing of lent types
* lent is only valid for result types
2018-10-19 21:04:32 +02:00
Miran
675c629fee
replace deprecated safeAdd with add ( #9416 )
2018-10-18 12:29:32 +02:00
Timothee Cour
745f1642d6
implement sizeof and alignof operator (manually squashed #5664 ) ( #9356 )
2018-10-14 00:52:28 +02:00
LemonBoy
0ead36dae6
Unchecked arrays now have their own type ( #9267 )
2018-10-10 21:03:18 +02:00
LemonBoy
b8d2f79ef0
Prevent the construction of recursive tyStatic types ( #9256 )
...
Fixes #9255
2018-10-09 14:26:34 +02:00
jcosborn
dd65986795
fixes #4435 ( #9185 )
2018-10-09 13:34:03 +02:00
Araq
ae901b3272
fixes #7351
2018-10-02 16:18:16 +02:00
Araq
0694c9080f
fixes #8043
2018-09-03 16:07:44 +02:00
LemonBoy
b74faf354e
Do not materialize empty varargs[untyped] arrays ( #8715 )
...
When an empty nkArgList `varargs[untyped]` is passed around it is now
reused for efficiency sake and to prevent the introduction of a spurious
element: before this commit we'd pass the caller a
nkArgList[nkHiddenStdConv[nkBracket]] node instead of just an empty
nkArgList.
Fixes #8706
2018-08-31 12:16:46 +02:00
Andreas Rumpf
df4d5b77a1
introduce precise string '[]', '[]=' accessors; fixes #8049 ( #8817 )
2018-08-30 23:01:15 +02:00
Araq
e98e214422
fixes #7854
2018-08-30 15:49:51 +02:00
zah
96de224a63
Fix #8126 ( #8712 )
...
This is a temporary fix that will be reworked in a follow up commit
that aims to eliminate the tfExplicit flag from the compiler. The
complete and proper fix was considered too risky for inclusion just
before our 0.19 release.
2018-08-21 22:14:12 +02:00
Andreas Rumpf
0da91aa744
changes how the now illegal 'string == nil' comparison is detected
2018-08-15 16:31:56 +02:00
Araq
a0cde8cee6
Merge branch 'devel' into araq-misc
2018-08-13 20:16:18 +02:00
cooldome
aa1cdebdc2
Converters to take into account constraints. Fixes #7520 ( #8593 )
2018-08-13 15:02:20 +02:00
Andreas Rumpf
dae5450947
WIP: disallow 'nil' for strings and seqs
2018-08-13 11:41:33 +02:00
andri lim
4d5cce9882
fixes #6255 , add system.ashr arithmetic right shift ( #8547 )
2018-08-07 18:41:30 +02:00
Andreas Rumpf
f29225fc63
sigmatch: no trailing whitespace
2018-07-17 16:14:12 +02:00
LemonBoy
9b98add6c7
Do not crash while instantiating a generic outside a call ( #8279 )
...
Fixes #8270
2018-07-14 01:44:40 +02:00
LemonBoy
5c5388c0a6
Handle subtype relations for converter parameters ( #8248 )
...
Fixes #7098
2018-07-09 20:05:53 +02:00
LemonBoy
c6671776a1
Reset typedescMatched before paramTypesMatch ( #8250 )
...
The flag should not be carried out across different parameters.
Fixes #7794
2018-07-09 15:02:48 +02:00
LemonBoy
88714e77d8
Fix comparison of tyGenericBody in typerel ( #8045 )
...
As shown in #7734 and #7733 the logic in typerel fails to determine that
`type Foo` and `type Foo` are indeed equal.
Fixes #7734
2018-07-07 20:49:06 +02:00
LemonBoy
ab47a870bc
Error out if vararg match isn't an exact one ( #8186 )
...
Fixes #8172
2018-07-03 15:10:12 +02:00
Andreas Rumpf
d8f7174dda
Merge pull request #7736 from cooldome/range_float_type
...
Language feature: range float types
2018-06-27 00:08:21 +02:00
Zahary Karadjov
e129466910
requested pull-request changes
2018-06-16 16:46:32 +03:00
Zahary Karadjov
31651ecd61
allow referencing other parameters in default parameter values
...
fix #7756
fix #1201
fix #7000
fix #3002
fix #1046
2018-06-16 16:46:32 +03:00
Zahary Karadjov
5bcf8bcb59
fixes #7222 ; fixes #5595 ; fixes #3747
...
* late instantiation for the generic procs' default param values
* automatic mixin behaviour in concepts
Other fixes:
* don't render the automatically inserted default params in calls
* better rendering of tyFromExpr
2018-06-16 16:46:32 +03:00
Zahary Karadjov
fb27357b62
A minimal patch enabling the new typedesc and static types syntax
2018-06-16 16:46:32 +03:00
Andreas Rumpf
5348fef003
implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1
2018-06-13 01:44:19 +02:00
cooldome
101f23f3a6
manual merge 2
2018-06-12 23:23:21 +01:00
cooldome
37aa488f99
merge devel
2018-06-12 21:19:30 +01:00
Andreas Rumpf
aaceec0744
Merge pull request #7981 from cooldome/Fix_-7980
...
Fixes 7980
2018-06-12 11:50:40 +02:00
cooldome
77f33db3ed
style fixes, typos
2018-06-12 09:27:37 +01:00
cooldome
44d82d9492
style improvements
2018-06-12 09:17:24 +01:00
cooldome
746da12d74
add comment
2018-06-12 00:22:11 +01:00
cooldome
1b7cf3df51
New approach
2018-06-12 00:20:08 +01:00
cooldome
4619ee7058
remove underscores
2018-06-11 23:20:31 +01:00
cooldome
a65e9c0e25
fix comments
2018-06-10 23:27:45 +01:00
cooldome
73b7ec9009
merge devel
2018-06-10 22:58:39 +01:00