summary refs log tree commit diff stats
path: root/compiler/semdata.nim
Commit message (Collapse)AuthorAgeFilesLines
* generic multi-methods should work nowAndreas Rumpf2016-07-281-1/+1
|
* new language feature: explicit 'import system' statements are allowedAndreas Rumpf2016-07-071-0/+1
|
* Merge branch 'patch/fix-3496-generic-tmpl-args' of ↵Andreas Rumpf2016-05-291-1/+1
|\ | | | | | | https://github.com/nanoant/Nim into nanoant-patch/fix-3496-generic-tmpl-args
| * fixes #3496Adam Strzelecki2015-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem comes from the fact that macroOrTmpl[...] is transformed by semSubscript which is trying to evaluate macroOrTmpl identifier in place. This is okay for non-generic macros or templates, but wrong for generic ones, that do not have a chance to receive their generic arguments explicitly specified in brackets. Solution: 1. macroOrTmpl[...] where macroOrTmpl is non-generic macro or template, then macroOrTmpl is evaluated before applying brackets. (as before) 2. macroOrTmpl[...] where macroOrTmpl is generic macro or template, then if: a. It comes from macroOrTmpl[...](...) call expr (efInCall), then macroOrTmpl is turned into a symbol (efNoEvaluate) rather than evaluating it in place, then whole bracket expr is returned to semIndirectOp which transforms it to proper generic macro or template call with explicit generic arguments. b. macroOrTmpl[...] does not come from call expr, as above macroOrTmpl is transformed to symbol, then it is transformed into proper generic macro or template call with explicit generic arguments and no normal arguments.
* | fixes #4227Andreas Rumpf2016-05-271-1/+1
| |
* | added 'sig' feature; removed tfShared support in the compilerAndreas Rumpf2016-02-281-0/+3
| |
* | added experimental .this pragmaAndreas Rumpf2016-02-281-11/+2
| |
* | first implementation of the new lambda-lifting pass; barely anything worksAndreas Rumpf2015-12-261-1/+1
|/
* renamed inCompilesContext to compilesContextId; added test case for #3313Araq2015-09-181-1/+1
|
* fixes #3313Araq2015-09-181-0/+1
|
* next steps in binding [] properlyAraq2015-09-131-1/+2
|
* fixes #2585Araq2015-04-221-4/+6
|
* fixes #2505, fixes #1853, fixes #2522Araq2015-04-201-0/+3
|
* fixes #2481Araq2015-04-101-1/+2
|
* first implementation of overloading of '='; missing: rewriting let/var sectionsAraq2015-04-061-2/+7
|
* implemented a[^1] notationAraq2015-03-261-27/+28
|
* cleaned up some testsAraq2015-02-101-0/+1
|
* nimsuggest improvementsAraq2015-01-301-0/+3
|
* fixes #1915Araq2015-01-121-0/+1
|
* fix #1049Zahary Karadjov2015-01-021-1/+1
|
* implemented 'experimental' switchAraq2014-12-051-0/+5
|
* nicer error messages (untested)Araq2014-10-261-2/+1
|
* deepCopy is instantiated when its corresponding type is instantiatedAraq2014-09-261-0/+3
|
* updated the compiler to use the new symbol namesAraq2014-08-281-3/+3
|
* Nimrod renamed to NimAraq2014-08-281-1/+1
|
* Merge pull request #1281 from Araq/new_spawnAndreas Rumpf2014-06-161-0/+1
|\ | | | | New spawn
| * pi test compiles, but crashes randomlyAraq2014-06-011-0/+1
| |
* | Fixed #1172 (for real)Clay Sweetser2014-06-011-2/+2
|/
* removed flawed thread analysis passAraq2014-04-201-2/+0
|
* propagate semExpr flags in macro/template expansionZahary Karadjov2014-04-061-1/+1
|
* fixed parens around getSysType argumentsJimmie Houchin2014-03-251-1/+1
|
* reference implementation of a vector swizzle libraryZahary Karadjov2014-03-201-0/+21
| | | | | This also provides the initial steps towards support for type class "filtered" type inference fixes an "ordinal type expected" ICE, related to the use of static params
* fix #715 againZahary Karadjov2014-03-161-1/+1
| | | | the regression was caused by the introduction of "generic" lambdas
* fix tsemistaticZahary Karadjov2014-03-111-0/+3
|
* split the inline and closure iterators into different symbol kinds for ↵Zahary Karadjov2014-03-061-1/+1
| | | | easier discrimination between them
* quite messy implementation of generic lambdas, needs reworking; fixes #715Zahary Karadjov2014-02-171-0/+1
|
* fix some regressions caused by tyTypeDesc[tyNone]Zahary Karadjov2014-02-151-1/+0
|
* fixes #797; generic procs can be used in places expecting matching concrete ↵Zahary Karadjov2014-02-111-0/+2
| | | | proc types
* tyTypeDesc and tyRange always have 1 child; this might be tyNone but it is ↵Araq2014-02-051-0/+1
| | | | required for skipTypes
* fixes #844Araq2014-02-021-1/+1
|
* progress towards fixing tgenericshardcasesZahary Karadjov2014-01-061-5/+10
|
* introduce tyFromExpr; fixes #618Zahary Karadjov2014-01-041-0/+4
|
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-1/+19
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: compiler/ccgutils.nim compiler/msgs.nim compiler/sem.nim compiler/semexprs.nim compiler/seminst.nim compiler/semmagic.nim compiler/semstmts.nim compiler/semtypes.nim compiler/semtypinst.nim compiler/sigmatch.nim compiler/types.nim compiler/vmgen.nim lib/core/macros.nim lib/system.nim tests/reject/tenummix.nim web/news.txt
| * integrate the logic of fixupProcType into ReplaceTypeVarsZahary Karadjov2013-12-291-8/+6
| |
| * better integration of tyStatic into typeRelZahary Karadjov2013-12-251-0/+5
| |
| * wip type class reforms (the compiler bootstraps fine)Zahary Karadjov2013-12-251-0/+15
| | | | | | | | | | | | * replace tfAny and tfAll with tyAnd and tyOr * integrate matchTypeClass into typeRel * introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-291-2/+2
| |
* | case consistency: next stepsAraq2013-12-291-3/+3
| |
* | case consistency part 4Araq2013-12-271-5/+5
| |
* | case consistency part 1Araq2013-12-271-16/+16
| |