Andreas Rumpf
4a35d2b571
fixes #11375 ( #11376 )
2019-06-02 06:33:35 +02:00
Andreas Rumpf
9d8b4d6020
fixes #11057 ( #11345 )
2019-05-28 15:55:11 +02:00
Araq
c7de1a252e
fixes #11257
2019-05-24 00:44:49 +02:00
Andreas Rumpf
fd16875561
fixes #8568 ( #11303 )
...
* fixes #8568
* fixes regression
2019-05-22 20:59:54 +02:00
Araq
57bc8d73b4
fixes subtype relation regression
2019-05-22 07:41:16 +02:00
Araq
1f7f0908ef
make bootstrapping work with older Nims
2019-05-22 07:41:16 +02:00
Araq
90e882d55b
fixes #11239
2019-05-22 07:41:16 +02:00
Andreas Rumpf
95f8ed0382
fixes #6732 ( #11255 )
2019-05-15 08:18:20 +02:00
Arne Döring
b92fd30282
rename tyExpr/tyStmt to tyUntyped/tyTyped ( #11227 )
2019-05-11 10:11:08 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Arne Döring
a55817f9ac
Fix varargs int32 ( #11054 )
...
* fixes #10999
* adds a test for #10999
2019-04-18 20:53:57 +02:00
Araq
8fb04b320a
sigmatch: ensure 'owned proc' works with system.isNil
2019-04-11 12:35:49 +02:00
LemonBoy
71df1b060b
Tighten the conversion from tyRange to scalar types ( #10495 )
...
* Tighten the conversion from tyRange to scalar types.
Introduce the `isIntConv` rule for unsigned types.
Do not allow mixed-signedness conversions between ranges and scalar types.
* More json adjustments
2019-02-23 11:52:52 +01:00
Andreas Rumpf
ea409fb15a
first steps in implementing 'owned' pointers; undocumented, do not use
2019-02-23 08:44:08 +01:00
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