summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
Commit message (Collapse)AuthorAgeFilesLines
* Tighten the conversion from tyRange to scalar types (#10495)LemonBoy2019-02-231-6/+7
| | | | | | | | | * 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
* first steps in implementing 'owned' pointers; undocumented, do not useAndreas Rumpf2019-02-231-7/+23
|
* gc: destructors is beginning to work (#10483)Andreas Rumpf2019-01-291-0/+5
| | | | | | | | | | | | | | | | * 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
* Restrict ptr/ref to ptr/ref implicit conversion (#10411)LemonBoy2019-01-221-1/+1
| | | | | | | | * Restrict ptr/ref to ptr/ref implicit conversion Fixes #10409 * Make the ptr conversions explicit in db_odbc
* Fix subtype conversion w/ varargs arguments (#10402)LemonBoy2019-01-211-2/+3
| | | | | | | | | 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
* fixes #10075 [backport]Araq2019-01-131-2/+1
|
* C++: make async tests green on WindowsAraq2018-12-211-5/+5
|
* More converter fixes (#9737)cooldome2018-11-261-5/+13
| | | | | | * fixes #9735 * fixes #9736 * fixes #3503
* Fixes multiple bugs with sink arguments (#9802)cooldome2018-11-261-4/+4
| | | | | | * fixes #9781 * fix spacing
* Converter bug fixes (#9700)cooldome2018-11-151-2/+8
| | | | | * Fixes #9698 * Fixes #9699
* added first version of a nimfind tool for the poor souls that don't have a ↵Andreas Rumpf2018-11-141-2/+2
| | | | good nimsuggest integretation
* make Nim take roughly 100MB less RAM for bootstrapping via a new compiler ↵Andreas Rumpf2018-11-071-1/+1
| | | | switch -d:leanCompiler; useful for the Raberry PI
* compiler cleanup: flag tfOldSchoolExprStmt is goneAraq2018-11-061-6/+3
|
* Fixes 6544 (#9427)LemonBoy2018-10-191-0/+10
| | | | | | | | | | * Fix call to converters with var/lent args Fixes #6544 * Fix printing of lent types * lent is only valid for result types
* replace deprecated `safeAdd` with `add` (#9416)Miran2018-10-181-4/+4
|
* implement sizeof and alignof operator (manually squashed #5664) (#9356)Timothee Cour2018-10-141-1/+0
|
* Unchecked arrays now have their own type (#9267)LemonBoy2018-10-101-1/+8
|
* Prevent the construction of recursive tyStatic types (#9256)LemonBoy2018-10-091-4/+7
| | | Fixes #9255
* fixes #4435 (#9185)jcosborn2018-10-091-1/+1
|
* fixes #7351Araq2018-10-021-1/+3
|
* fixes #8043Araq2018-09-031-0/+3
|
* Do not materialize empty varargs[untyped] arrays (#8715)LemonBoy2018-08-311-6/+17
| | | | | | | | | 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
* introduce precise string '[]', '[]=' accessors; fixes #8049 (#8817)Andreas Rumpf2018-08-301-0/+9
|
* fixes #7854Araq2018-08-301-1/+2
|
* Fix #8126 (#8712)zah2018-08-211-1/+2
| | | | | | 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.
* changes how the now illegal 'string == nil' comparison is detectedAndreas Rumpf2018-08-151-6/+2
|
* Merge branch 'devel' into araq-miscAraq2018-08-131-0/+4
|\
| * Converters to take into account constraints. Fixes #7520 (#8593)cooldome2018-08-131-0/+4
| |
* | WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-6/+16
|/
* fixes #6255, add `system.ashr` arithmetic right shift (#8547)andri lim2018-08-071-0/+4
|
* sigmatch: no trailing whitespaceAndreas Rumpf2018-07-171-5/+5
|
* Do not crash while instantiating a generic outside a call (#8279)LemonBoy2018-07-141-1/+4
| | | Fixes #8270
* Handle subtype relations for converter parameters (#8248)LemonBoy2018-07-091-2/+7
| | | Fixes #7098
* Reset typedescMatched before paramTypesMatch (#8250)LemonBoy2018-07-091-0/+3
| | | | | The flag should not be carried out across different parameters. Fixes #7794
* Fix comparison of tyGenericBody in typerel (#8045)LemonBoy2018-07-071-1/+1
| | | | | | As shown in #7734 and #7733 the logic in typerel fails to determine that `type Foo` and `type Foo` are indeed equal. Fixes #7734
* Error out if vararg match isn't an exact one (#8186)LemonBoy2018-07-031-1/+11
| | | Fixes #8172
* Merge pull request #7736 from cooldome/range_float_typeAndreas Rumpf2018-06-271-14/+16
|\ | | | | Language feature: range float types
| * manual merge 2cooldome2018-06-121-1/+1
| |
| * merge develcooldome2018-06-121-27/+38
| |\
| * | style fixes, typoscooldome2018-06-121-5/+5
| | |
| * | remove underscorescooldome2018-06-111-5/+5
| | |
| * | fix commentscooldome2018-06-101-16/+11
| | |
| * | merge develcooldome2018-06-101-49/+63
| |\ \
| * \ \ merge develcooldome2018-04-291-7/+19
| |\ \ \
| * | | | Implement float range typescooldome2018-04-261-13/+20
| | | | |
* | | | | requested pull-request changesZahary Karadjov2018-06-161-10/+10
| | | | |
* | | | | allow referencing other parameters in default parameter valuesZahary Karadjov2018-06-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #7756 fix #1201 fix #7000 fix #3002 fix #1046
* | | | | fixes #7222; fixes #5595; fixes #3747Zahary Karadjov2018-06-161-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | | | | A minimal patch enabling the new typedesc and static types syntaxZahary Karadjov2018-06-161-5/+9
| | | | |
* | | | | implements a --nep1:on switch to make the compiler enforce the naming ↵Andreas Rumpf2018-06-131-1/+1
| |_|_|/ |/| | | | | | | | | | | conventions outlined in NEP-1
>135 136 137 138 139 140 141 142 143 144 145 146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236