preparations for version 0.11.0
This commit is contained in:
parent
d40098ad82
commit
a4f8a89c85
8 changed files with 467 additions and 349 deletions
|
|
@ -126,12 +126,108 @@ Files: "examples/*.txt"
|
|||
Files: "examples/*.cfg"
|
||||
Files: "examples/*.tmpl"
|
||||
|
||||
Files: "tests/actiontable/*.nim"
|
||||
Files: "tests/alias/*.nim"
|
||||
Files: "tests/ambsym/*.nim"
|
||||
Files: "tests/array/*.nim"
|
||||
Files: "tests/assign/*.nim"
|
||||
Files: "tests/astoverload/*.nim"
|
||||
Files: "tests/async/*.nim"
|
||||
Files: "tests/benchmarks/*.nim"
|
||||
Files: "tests/bind/*.nim"
|
||||
Files: "tests/borrow/*.nim"
|
||||
Files: "tests/casestmt/*.nim"
|
||||
Files: "tests/ccgbugs/*.nim"
|
||||
Files: "tests/clearmsg/*.nim"
|
||||
Files: "tests/closure/*.nim"
|
||||
Files: "tests/cnstseq/*.nim"
|
||||
Files: "tests/collections/*.nim"
|
||||
Files: "tests/compiles/*.nim"
|
||||
Files: "tests/concat/*.nim"
|
||||
Files: "tests/concepts/*.nim"
|
||||
Files: "tests/constr/*.nim"
|
||||
Files: "tests/constraints/*.nim"
|
||||
Files: "tests/controlflow/*.nim"
|
||||
Files: "tests/converter/*.nim"
|
||||
Files: "tests/cpp/*.nim"
|
||||
Files: "tests/defaultprocparam/*.nim"
|
||||
Files: "tests/deprecated/*.nim"
|
||||
Files: "tests/destructor/*.nim"
|
||||
Files: "tests/dir with space/*.nim"
|
||||
Files: "tests/discard/*.nim"
|
||||
Files: "tests/distinct/*.nim"
|
||||
Files: "tests/dll/*.nim"
|
||||
Files: "tests/effects/*.nim"
|
||||
Files: "tests/enum/*.nim"
|
||||
Files: "tests/exception/*.nim"
|
||||
Files: "tests/exprs/*.nim"
|
||||
Files: "tests/fields/*.nim"
|
||||
Files: "tests/float/*.nim"
|
||||
Files: "tests/friends/*.nim"
|
||||
Files: "tests/gc/*.nim"
|
||||
Files: "tests/generics/*.nim"
|
||||
Files: "tests/gensym/*.nim"
|
||||
Files: "tests/global/*.nim"
|
||||
Files: "tests/implicit/*.nim"
|
||||
Files: "tests/init/*.nim"
|
||||
Files: "tests/iter/*.nim"
|
||||
Files: "tests/js/*.nim"
|
||||
Files: "tests/js/*.cfg"
|
||||
Files: "tests/let/*.nim"
|
||||
Files: "tests/lexer/*.nim"
|
||||
Files: "tests/lookups/*.nim"
|
||||
Files: "tests/macros/*.nim"
|
||||
Files: "tests/magics/*.nim"
|
||||
Files: "tests/metatype/*.nim"
|
||||
Files: "tests/method/*.nim"
|
||||
Files: "tests/misc/*.nim"
|
||||
Files: "tests/modules/*.nim"
|
||||
Files: "tests/namedparams/*.nim"
|
||||
Files: "tests/notnil/*.nim"
|
||||
Files: "tests/objects/*.nim"
|
||||
Files: "tests/objvariant/*.nim"
|
||||
Files: "tests/openarray/*.nim"
|
||||
Files: "tests/osproc/*.nim"
|
||||
Files: "tests/overflw/*.nim"
|
||||
Files: "tests/overload/*.nim"
|
||||
Files: "tests/parallel/*.nim"
|
||||
Files: "tests/parallel/*.cfg"
|
||||
Files: "tests/parser/*.nim"
|
||||
Files: "tests/pragmas/*.nim"
|
||||
Files: "tests/proc/*.nim"
|
||||
Files: "tests/procvar/*.nim"
|
||||
Files: "tests/range/*.nim"
|
||||
Files: "tests/rodfiles/*.nim"
|
||||
Files: "tests/seq/*.nim"
|
||||
Files: "tests/sets/*.nim"
|
||||
Files: "tests/showoff/*.nim"
|
||||
Files: "tests/specialops/*.nim"
|
||||
Files: "tests/stdlib/*.nim"
|
||||
Files: "tests/system/*.nim"
|
||||
Files: "tests/template/*.nim"
|
||||
Files: "tests/testament/*.nim"
|
||||
Files: "tests/testdata/*.nim"
|
||||
Files: "tests/threads/*.nim"
|
||||
Files: "tests/threads/*.cfg"
|
||||
Files: "tests/trmacros/*.nim"
|
||||
Files: "tests/tuples/*.nim"
|
||||
Files: "tests/typerel/*.nim"
|
||||
Files: "tests/types/*.nim"
|
||||
Files: "tests/usingstmt/*.nim"
|
||||
Files: "tests/varres/*.nim"
|
||||
Files: "tests/varstmt/*.nim"
|
||||
Files: "tests/vm/*.nim"
|
||||
Files: "tests/readme.txt"
|
||||
Files: "tests/testament/css/*.css"
|
||||
Files: "lib/pure/unidecode/unidecode.dat"
|
||||
|
||||
[Windows]
|
||||
Files: "bin/nim.exe"
|
||||
Files: "bin/nim_debug.exe"
|
||||
Files: "bin/c2nim.exe"
|
||||
Files: "bin/nimgrep.exe"
|
||||
Files: "bin/nimsuggest.exe"
|
||||
Files: "bin/nimble.exe"
|
||||
Files: "bin/*.dll"
|
||||
|
||||
Files: "dist/*.dll"
|
||||
Files: "koch.exe"
|
||||
|
|
@ -142,7 +238,7 @@ BinPath: r"bin;dist\mingw\bin;dist"
|
|||
; Section | dir | zipFile | size hint (in KB) | url | exe start menu entry
|
||||
Download: r"Documentation|doc|docs.zip|13824|http://nim-lang.org/download/docs-${version}.zip|overview.html"
|
||||
Download: r"C Compiler (MingW)|dist|mingw.zip|82944|http://nim-lang.org/download/${mingw}.zip"
|
||||
Download: r"Aporia IDE|dist|aporia.zip|97997|http://nim-lang.org/download/aporia-0.1.3.zip|aporia\bin\aporia.exe"
|
||||
Download: r"Aporia IDE|dist|aporia.zip|97997|http://nim-lang.org/download/aporia-0.3.0.zip|aporia\bin\aporia.exe"
|
||||
; for now only NSIS supports optional downloads
|
||||
|
||||
[UnixBin]
|
||||
|
|
|
|||
2
koch.nim
2
koch.nim
|
|
@ -119,7 +119,7 @@ proc buildTool(toolname, args: string) =
|
|||
proc nsis(args: string) =
|
||||
# make sure we have generated the niminst executables:
|
||||
buildTool("tools/niminst/niminst", args)
|
||||
buildTool("tools/nimgrep", args)
|
||||
#buildTool("tools/nimgrep", args)
|
||||
# produce 'nim_debug.exe':
|
||||
exec "nim c compiler" / "nim.nim"
|
||||
copyExe("compiler/nim".exe, "bin/nim_debug".exe)
|
||||
|
|
|
|||
|
|
@ -1532,10 +1532,10 @@ const
|
|||
NimMajor*: int = 0
|
||||
## is the major number of Nim's version.
|
||||
|
||||
NimMinor*: int = 10
|
||||
NimMinor*: int = 11
|
||||
## is the minor number of Nim's version.
|
||||
|
||||
NimPatch*: int = 3
|
||||
NimPatch*: int = 0
|
||||
## is the patch number of Nim's version.
|
||||
|
||||
NimVersion*: string = $NimMajor & "." & $NimMinor & "." & $NimPatch
|
||||
|
|
|
|||
|
|
@ -593,8 +593,9 @@ proc targzDist(c: var ConfigData) =
|
|||
let oldDir = getCurrentDir()
|
||||
setCurrentDir(tmpDir)
|
||||
try:
|
||||
if execShellCmd("7z a -ttar $1.tar $1" % proj) != 0 or
|
||||
execShellCmd("7z a -tgzip $1.tar.gz $1.tar" % proj) != 0:
|
||||
#if execShellCmd("7z a -ttar $1.tar $1" % proj) != 0 or
|
||||
# execShellCmd("7z a -tgzip $1.tar.gz $1.tar" % proj) != 0 or
|
||||
if execShellCmd("7z a -tzip $1.zip $1" % proj) != 0:
|
||||
echo("External program failed")
|
||||
finally:
|
||||
setCurrentDir(oldDir)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#! stdtmpl(subsChar='?') | standard
|
||||
#proc generateNsisSetup(c: ConfigData): string =
|
||||
#proc generateNsisSetup(c: ConfigData): string =
|
||||
# result = "; NSIS script generated by niminst\n" &
|
||||
# "; To regenerate run ``niminst nsis`` or ``koch nsis``\n"
|
||||
|
||||
|
|
@ -35,8 +35,8 @@
|
|||
|
||||
; Default installation folder
|
||||
; This is changed later (in .onInit) to the root directory, if possible.
|
||||
InstallDir "$LOCALAPPDATA\?{c.name}"
|
||||
|
||||
InstallDir "$LOCALAPPDATA\?{c.name}-?{c.version}"
|
||||
|
||||
; Get installation folder from registry if available
|
||||
InstallDirRegKey HKCU "Software\c.name\c.version" ""
|
||||
|
||||
|
|
@ -86,14 +86,14 @@
|
|||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
|
||||
; Setup the uninstaller pages
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
;--------------------------------
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
; Nim binary.
|
||||
Section "Core Files" CoreSection
|
||||
; This is a mandotory section
|
||||
SectionIn RO
|
||||
SectionIn RO
|
||||
|
||||
; Output files to the base installation directory
|
||||
SetOutPath "$INSTDIR"
|
||||
|
|
@ -164,7 +164,7 @@
|
|||
|
||||
; The downloadable sections. These sections are automatically generated by
|
||||
; niminst and the template filters.
|
||||
#var i = 0
|
||||
#var i = 0
|
||||
#for download in c.downloads:
|
||||
# inc i
|
||||
# let d = download.split('|')
|
||||
|
|
@ -207,7 +207,7 @@
|
|||
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\?{e}.lnk" "$INSTDIR\?dir\?{startMenuEntry.toWin}"
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
# end if
|
||||
|
||||
|
||||
ignore:
|
||||
SectionEnd
|
||||
#end
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ Binaries
|
|||
--------
|
||||
|
||||
Unfortunately for now we only provide builds for Windows.
|
||||
* 32 bit: `nim-0.10.2_x32.exe <download/nim-0.10.2_x32.exe>`_
|
||||
* 64 bit: `nim-0.10.2_x64.exe <download/nim-0.10.2_x64.exe>`_
|
||||
* 32 bit: `nim-0.11.0_x32.exe <download/nim-0.11.0_x32.exe>`_
|
||||
* 64 bit: `nim-0.11.0_x64.exe <download/nim-0.11.0_x64.exe>`_
|
||||
|
||||
|
||||
Installation based on generated C code
|
||||
|
|
@ -24,8 +24,8 @@ This installation method is the preferred way for Linux, Mac OS X, and other Uni
|
|||
like systems. Binary packages may be provided later.
|
||||
|
||||
|
||||
Download `nim-0.10.2.zip <download/nim-0.10.2.zip>`_, extract it and follow
|
||||
these instructions:
|
||||
Download `nim-0.11.0.zip <download/nim-0.11.0.zip>`_, extract it and
|
||||
follow these instructions:
|
||||
|
||||
* sh build.sh
|
||||
* Add ``$your_install_dir/bin`` to your PATH.
|
||||
|
|
|
|||
669
web/news.txt
669
web/news.txt
|
|
@ -2,349 +2,370 @@
|
|||
News
|
||||
====
|
||||
|
||||
..
|
||||
2015-03-01 Version 0.11.0 released
|
||||
==================================
|
||||
|
||||
2015-04-30 Version 0.11.0 released
|
||||
==================================
|
||||
|
||||
|
||||
Changes affecting backwards compatibility
|
||||
-----------------------------------------
|
||||
What's left to be done
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Parameter names are finally properly ``gensym``'ed. This can break
|
||||
templates though that used to rely on the fact that they are not.
|
||||
(Bug #1915.) This means this doesn't compile anymore:
|
||||
The 1.0 release is expected by the end of this year. Rumors say it will be in
|
||||
summer 2015. What's left:
|
||||
|
||||
.. code-block:: nim
|
||||
|
||||
template doIt(body: stmt) {.immediate.} =
|
||||
# this used to inject the 'str' parameter:
|
||||
proc res(str: string) =
|
||||
body
|
||||
|
||||
doIt:
|
||||
echo str # Error: undeclared identifier: 'str'
|
||||
|
||||
Declare the ``doIt`` template as ``immediate, dirty`` to get the old
|
||||
behaviour.
|
||||
- Tuple field names are not ignored anymore, this caused too many problems
|
||||
in practice so now the behaviour as it was for version 0.9.6: If field
|
||||
names exist for the tuple type, they are checked.
|
||||
- ``logging.level`` and ``logging.handlers`` are no longer exported.
|
||||
``addHandler``, ``getHandlers``, ``setLogFilter`` and ``getLogFilter``
|
||||
should be used instead.
|
||||
- ``nim idetools`` has been replaced by a separate tool `nimsuggest`_.
|
||||
- *arrow like* operators are not right associative anymore.
|
||||
- *arrow like* operators are now required to end with either ``->``, ``~>`` or
|
||||
``=>``, not just ``>``. Examples of operators still considered arrow like:
|
||||
``->``, ``==>``, ``+=>``. On the other hand, the following operators are now
|
||||
considered regular operators again: ``|>``, ``-+>``, etc.
|
||||
- Typeless parameters are now only allowed in templates and macros. The old
|
||||
way turned out to be too error-prone.
|
||||
- The 'addr' and 'type' operators are now parsed as unary function
|
||||
application. This means ``type(x).name`` is now parsed as ``(type(x)).name``
|
||||
and not as ``type((x).name)``. Note that this also affects the AST
|
||||
structure; for immediate macro parameters ``nkCall('addr', 'x')`` is
|
||||
produced instead of ``nkAddr('x')``.
|
||||
- ``concept`` is now a keyword and is used instead of ``generic``.
|
||||
- The ``inc``, ``dec``, ``+=``, ``-=`` builtins now produce OverflowError
|
||||
exceptions. This means code like the following:
|
||||
|
||||
.. code-block:: nim
|
||||
var x = low(T)
|
||||
while x <= high(T):
|
||||
echo x
|
||||
inc x
|
||||
|
||||
Needs to be replaced by something like this:
|
||||
|
||||
.. code-block:: nim
|
||||
var x = low(T).int
|
||||
while x <= high(T).int:
|
||||
echo x.T
|
||||
inc x
|
||||
|
||||
- **Negative indexing for slicing does not work anymore!** Instead
|
||||
of ``a[0.. -1]`` you can
|
||||
use ``a[0.. ^1]``. This also works with accessing a single
|
||||
element ``a[^1]``. Note that we cannot detect this reliably as it is
|
||||
determined at **runtime** whether negative indexing is used!
|
||||
``a[0.. -1]`` now produces the empty string/sequence.
|
||||
- The compiler now warns about code like ``foo +=1`` which uses inconsistent
|
||||
spacing around binary operators. Later versions of the language will parse
|
||||
these as unary operators instead so that ``echo $foo`` finally can do what
|
||||
people expect it to do.
|
||||
- ``system.untyped`` and ``system.typed`` have been introduced as aliases
|
||||
for ``expr`` and ``stmt``. The new names capture the semantics much better
|
||||
and most likely ``expr`` and ``stmt`` will be deprecated in favor of the
|
||||
new names.
|
||||
- The ``split`` method in module ``re`` has changed. It now handles the case
|
||||
of matches having a length of 0, and empty strings being yielded from the
|
||||
iterator. A notable change might be that a pattern being matched at the
|
||||
beginning and end of a string, will result in an empty string being produced
|
||||
at the start and the end of the iterator.
|
||||
|
||||
Language Additions
|
||||
------------------
|
||||
|
||||
- For empty ``case object`` branches ``discard`` can finally be used instead
|
||||
of ``nil``.
|
||||
- Automatic dereferencing is now done for the first argument of a routine
|
||||
call if overloading resolution produces no match otherwise. This feature
|
||||
has to be enabled with the `experimental`_ pragma.
|
||||
- Objects that do not use inheritance nor ``case`` can be put into ``const``
|
||||
sections. This means that finally this is possible and produces rather
|
||||
nice code:
|
||||
|
||||
.. code-block:: nim
|
||||
import tables
|
||||
|
||||
const
|
||||
foo = {"ah": "finally", "this": "is", "possible.": "nice!"}.toTable()
|
||||
* Bug fixes, bug fixes, bug fixes!
|
||||
* ``immediate`` templates and macros will be deprecated as these will soon be
|
||||
completely unnecessary, instead the ``typed`` or ``untyped`` metatypes can
|
||||
be used.
|
||||
* The standard library needs cleanups and use the features we have for
|
||||
concurrency and parallelism.
|
||||
|
||||
|
||||
- Ordinary parameters can follow after a varargs parameter. This means the
|
||||
following is finally accepted by the compiler:
|
||||
|
||||
.. code-block:: nim
|
||||
template takesBlock(a, b: int, x: varargs[expr]; blck: stmt) =
|
||||
blck
|
||||
echo a, b
|
||||
Changes affecting backwards compatibility
|
||||
-----------------------------------------
|
||||
|
||||
takesBlock 1, 2, "some", 0.90, "random stuff":
|
||||
echo "yay"
|
||||
- Parameter names are finally properly ``gensym``'ed. This can break
|
||||
templates though that used to rely on the fact that they are not.
|
||||
(Bug #1915.) This means this doesn't compile anymore:
|
||||
|
||||
- Overloading by 'var T' is now finally possible:
|
||||
.. code-block:: nim
|
||||
|
||||
.. code-block:: nim
|
||||
proc varOrConst(x: var int) = echo "var"
|
||||
proc varOrConst(x: int) = echo "const"
|
||||
template doIt(body: stmt) {.immediate.} =
|
||||
# this used to inject the 'str' parameter:
|
||||
proc res(str: string) =
|
||||
body
|
||||
|
||||
var x: int
|
||||
varOrConst(x) # "var"
|
||||
varOrConst(45) # "const"
|
||||
doIt:
|
||||
echo str # Error: undeclared identifier: 'str'
|
||||
|
||||
- Array and seq indexing can now use the builtin ``^`` operator to access
|
||||
things from backwards: ``a[^1]`` is like Python's ``a[-1]``.
|
||||
- A first version of the specification and implementation of the overloading
|
||||
of the assignment operator has arrived!
|
||||
- ``system.len`` for strings and sequences now returns 0 for nil.
|
||||
Declare the ``doIt`` template as ``immediate, dirty`` to get the old
|
||||
behaviour.
|
||||
- Tuple field names are not ignored anymore, this caused too many problems
|
||||
in practice so now the behaviour as it was for version 0.9.6: If field
|
||||
names exist for the tuple type, they are checked.
|
||||
- ``logging.level`` and ``logging.handlers`` are no longer exported.
|
||||
``addHandler``, ``getHandlers``, ``setLogFilter`` and ``getLogFilter``
|
||||
should be used instead.
|
||||
- ``nim idetools`` has been replaced by a separate tool `nimsuggest`_.
|
||||
- *arrow like* operators are not right associative anymore.
|
||||
- *arrow like* operators are now required to end with either ``->``, ``~>`` or
|
||||
``=>``, not just ``>``. Examples of operators still considered arrow like:
|
||||
``->``, ``==>``, ``+=>``. On the other hand, the following operators are now
|
||||
considered regular operators again: ``|>``, ``-+>``, etc.
|
||||
- Typeless parameters are now only allowed in templates and macros. The old
|
||||
way turned out to be too error-prone.
|
||||
- The 'addr' and 'type' operators are now parsed as unary function
|
||||
application. This means ``type(x).name`` is now parsed as ``(type(x)).name``
|
||||
and not as ``type((x).name)``. Note that this also affects the AST
|
||||
structure; for immediate macro parameters ``nkCall('addr', 'x')`` is
|
||||
produced instead of ``nkAddr('x')``.
|
||||
- ``concept`` is now a keyword and is used instead of ``generic``.
|
||||
- The ``inc``, ``dec``, ``+=``, ``-=`` builtins now produce OverflowError
|
||||
exceptions. This means code like the following:
|
||||
|
||||
- A single underscore can now be used to discard values when unpacking tuples.
|
||||
- ``marshal.$$`` and ``marshal.to`` can be executed at compile-time.
|
||||
- Interoperability with C++ improved tremendously; C++'s templates and
|
||||
operators can be wrapped directly. See `this <nimc.html#ImportCpp-pragma>`_
|
||||
for more information.
|
||||
.. code-block:: nim
|
||||
var x = low(T)
|
||||
while x <= high(T):
|
||||
echo x
|
||||
inc x
|
||||
|
||||
Needs to be replaced by something like this:
|
||||
|
||||
.. code-block:: nim
|
||||
var x = low(T).int
|
||||
while x <= high(T).int:
|
||||
echo x.T
|
||||
inc x
|
||||
|
||||
- **Negative indexing for slicing does not work anymore!** Instead
|
||||
of ``a[0.. -1]`` you can
|
||||
use ``a[0.. ^1]``. This also works with accessing a single
|
||||
element ``a[^1]``. Note that we cannot detect this reliably as it is
|
||||
determined at **runtime** whether negative indexing is used!
|
||||
``a[0.. -1]`` now produces the empty string/sequence.
|
||||
- The compiler now warns about code like ``foo +=1`` which uses inconsistent
|
||||
spacing around binary operators. Later versions of the language will parse
|
||||
these as unary operators instead so that ``echo $foo`` finally can do what
|
||||
people expect it to do.
|
||||
- ``system.untyped`` and ``system.typed`` have been introduced as aliases
|
||||
for ``expr`` and ``stmt``. The new names capture the semantics much better
|
||||
and most likely ``expr`` and ``stmt`` will be deprecated in favor of the
|
||||
new names.
|
||||
- The ``split`` method in module ``re`` has changed. It now handles the case
|
||||
of matches having a length of 0, and empty strings being yielded from the
|
||||
iterator. A notable change might be that a pattern being matched at the
|
||||
beginning and end of a string, will result in an empty string being produced
|
||||
at the start and the end of the iterator.
|
||||
|
||||
Language Additions
|
||||
------------------
|
||||
|
||||
- For empty ``case object`` branches ``discard`` can finally be used instead
|
||||
of ``nil``.
|
||||
- Automatic dereferencing is now done for the first argument of a routine
|
||||
call if overloading resolution produces no match otherwise. This feature
|
||||
has to be enabled with the `experimental`_ pragma.
|
||||
- Objects that do not use inheritance nor ``case`` can be put into ``const``
|
||||
sections. This means that finally this is possible and produces rather
|
||||
nice code:
|
||||
|
||||
.. code-block:: nim
|
||||
import tables
|
||||
|
||||
const
|
||||
foo = {"ah": "finally", "this": "is", "possible.": "nice!"}.toTable()
|
||||
|
||||
|
||||
Library additions
|
||||
-----------------
|
||||
- Ordinary parameters can follow after a varargs parameter. This means the
|
||||
following is finally accepted by the compiler:
|
||||
|
||||
- ``reversed`` proc added to the ``unicode`` module.
|
||||
- Added multipart param to httpclient's ``post`` and ``postContent`` together
|
||||
with a ``newMultipartData`` proc.
|
||||
- Added `%*` operator for JSON.
|
||||
- The compiler is now available as Nimble package for c2nim.
|
||||
- Added ``..^`` and ``..<`` templates to system so that the rather annoying
|
||||
space between ``.. <`` and ``.. ^`` is not necessary anymore.
|
||||
- Added ``system.xlen`` for strings and sequences to get back the old ``len``
|
||||
operation that doesn't check for ``nil`` for efficiency.
|
||||
.. code-block:: nim
|
||||
template takesBlock(a, b: int, x: varargs[expr]; blck: stmt) =
|
||||
blck
|
||||
echo a, b
|
||||
|
||||
takesBlock 1, 2, "some", 0.90, "random stuff":
|
||||
echo "yay"
|
||||
|
||||
- Overloading by 'var T' is now finally possible:
|
||||
|
||||
.. code-block:: nim
|
||||
proc varOrConst(x: var int) = echo "var"
|
||||
proc varOrConst(x: int) = echo "const"
|
||||
|
||||
var x: int
|
||||
varOrConst(x) # "var"
|
||||
varOrConst(45) # "const"
|
||||
|
||||
- Array and seq indexing can now use the builtin ``^`` operator to access
|
||||
things from backwards: ``a[^1]`` is like Python's ``a[-1]``.
|
||||
- A first version of the specification and implementation of the overloading
|
||||
of the assignment operator has arrived!
|
||||
- ``system.len`` for strings and sequences now returns 0 for nil.
|
||||
|
||||
- A single underscore can now be used to discard values when unpacking tuples:
|
||||
|
||||
.. code-block:: nim
|
||||
let (path, _, _) = os.splitFile("path/file.ext")
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
- ``marshal.$$`` and ``marshal.to`` can be executed at compile-time.
|
||||
- Interoperability with C++ improved tremendously; C++'s templates and
|
||||
operators can be wrapped directly. See
|
||||
`this <nimc.html#additional-features-importcpp-pragma>`_
|
||||
for more information.
|
||||
|
||||
|
||||
Library additions
|
||||
-----------------
|
||||
|
||||
- ``reversed`` proc added to the ``unicode`` module.
|
||||
- Added multipart param to httpclient's ``post`` and ``postContent`` together
|
||||
with a ``newMultipartData`` proc.
|
||||
- Added `%*` operator for JSON.
|
||||
- The compiler is now available as Nimble package for c2nim.
|
||||
- Added ``..^`` and ``..<`` templates to system so that the rather annoying
|
||||
space between ``.. <`` and ``.. ^`` is not necessary anymore.
|
||||
- Added ``system.xlen`` for strings and sequences to get back the old ``len``
|
||||
operation that doesn't check for ``nil`` for efficiency.
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Fixed internal compiler error when using ``char()`` in an echo call
|
||||
(`#1788 <https://github.com/Araq/Nim/issues/1788>`_).
|
||||
- Fixed Windows cross-compilation on Linux.
|
||||
- Overload resolution now works for types distinguished only by a
|
||||
``static[int]`` param
|
||||
(`#1056 <https://github.com/Araq/Nim/issues/1056>`_).
|
||||
- Other fixes relating to generic types and static params.
|
||||
- Fixed some compiler crashes with unnamed tuples
|
||||
(`#1774 <https://github.com/Araq/Nim/issues/1774>`_).
|
||||
- Fixed ``channels.tryRecv`` blocking
|
||||
(`#1816 <https://github.com/Araq/Nim/issues/1816>`_).
|
||||
- Fixed generic instantiation errors with ``typedesc``
|
||||
(`#419 <https://github.com/Araq/Nim/issues/419>`_).
|
||||
- Fixed generic regression where the compiler no longer detected constant
|
||||
expressions properly (`#544 <https://github.com/Araq/Nim/issues/544>`_).
|
||||
- Fixed internal error with generic proc using ``static[T]`` in a specific
|
||||
way (`#1049 <https://github.com/Araq/Nim/issues/1049>`_).
|
||||
- More fixes relating to generics (`#1820 <https://github.com/Araq/Nim/issues/1820>`_,
|
||||
`#1050 <https://github.com/Araq/Nim/issues/1050>`_,
|
||||
`#1859 <https://github.com/Araq/Nim/issues/1859>`_,
|
||||
`#1858 <https://github.com/Araq/Nim/issues/1858>`_).
|
||||
- Fixed httpclient to properly encode queries.
|
||||
- Many fixes to the ``uri`` module.
|
||||
- Async sockets are now closed on error.
|
||||
- Fixes to httpclient's handling of multipart data.
|
||||
- Fixed GC segfaults with asynchronous sockets
|
||||
(`#1796 <https://github.com/Araq/Nim/issues/1796>`_).
|
||||
- Added more versions to openssl's DLL version list
|
||||
(`076f993 <https://github.com/Araq/Nim/commit/076f993>`_).
|
||||
- Fixed shallow copy in iterators being broken
|
||||
(`#1803 <https://github.com/Araq/Nim/issues/1803>`_).
|
||||
- ``nil`` can now be inserted into tables with the ``db_sqlite`` module
|
||||
(`#1866 <https://github.com/Araq/Nim/issues/1866>`_).
|
||||
- Fixed "Incorrect assembler generated"
|
||||
(`#1907 <https://github.com/Araq/Nim/issues/1907>`_)
|
||||
- Fixed "Expression templates that define macros are unusable in some contexts"
|
||||
(`#1903 <https://github.com/Araq/Nim/issues/1903>`_)
|
||||
- Fixed "a second level generic subclass causes the compiler to crash"
|
||||
(`#1919 <https://github.com/Araq/Nim/issues/1919>`_)
|
||||
- Fixed "nim 0.10.2 generates invalid AsyncHttpClient C code for MSVC "
|
||||
(`#1901 <https://github.com/Araq/Nim/issues/1901>`_)
|
||||
- Fixed "1 shl n produces wrong C code"
|
||||
(`#1928 <https://github.com/Araq/Nim/issues/1928>`_)
|
||||
- Fixed "Internal error on tuple yield"
|
||||
(`#1838 <https://github.com/Araq/Nim/issues/1838>`_)
|
||||
- Fixed "ICE with template"
|
||||
(`#1915 <https://github.com/Araq/Nim/issues/1915>`_)
|
||||
- Fixed "include the tool directory in the installer as it is required by koch"
|
||||
(`#1947 <https://github.com/Araq/Nim/issues/1947>`_)
|
||||
- Fixed "Can't compile if file location contains spaces on Windows"
|
||||
(`#1955 <https://github.com/Araq/Nim/issues/1955>`_)
|
||||
- Fixed "List comprehension macro only supports infix checks as guards"
|
||||
(`#1920 <https://github.com/Araq/Nim/issues/1920>`_)
|
||||
- Fixed "wrong field names of compatible tuples in generic types"
|
||||
(`#1910 <https://github.com/Araq/Nim/issues/1910>`_)
|
||||
- Fixed "Macros within templates no longer work as expected"
|
||||
(`#1944 <https://github.com/Araq/Nim/issues/1944>`_)
|
||||
- Fixed "Compiling for Standalone AVR broken in 0.10.2"
|
||||
(`#1964 <https://github.com/Araq/Nim/issues/1964>`_)
|
||||
- Fixed "Compiling for Standalone AVR broken in 0.10.2"
|
||||
(`#1964 <https://github.com/Araq/Nim/issues/1964>`_)
|
||||
- Fixed "Code generation for mitems with tuple elements"
|
||||
(`#1833 <https://github.com/Araq/Nim/issues/1833>`_)
|
||||
- Fixed "httpclient.HttpMethod should not be an enum"
|
||||
(`#1962 <https://github.com/Araq/Nim/issues/1962>`_)
|
||||
- Fixed "terminal / eraseScreen() throws an OverflowError"
|
||||
(`#1906 <https://github.com/Araq/Nim/issues/1906>`_)
|
||||
- Fixed "setControlCHook(nil) disables registered quit procs"
|
||||
(`#1546 <https://github.com/Araq/Nim/issues/1546>`_)
|
||||
- Fixed "Unexpected idetools behaviour"
|
||||
(`#325 <https://github.com/Araq/Nim/issues/325>`_)
|
||||
- Fixed "Unused lifted lambda does not compile"
|
||||
(`#1642 <https://github.com/Araq/Nim/issues/1642>`_)
|
||||
- Fixed "'low' and 'high' don't work with cstring asguments"
|
||||
(`#2030 <https://github.com/Araq/Nim/issues/2030>`_)
|
||||
- Fixed "Converting to int does not round in JS backend"
|
||||
(`#1959 <https://github.com/Araq/Nim/issues/1959>`_)
|
||||
- Fixed "Internal error genRecordField 2 when adding region to pointer."
|
||||
(`#2039 <https://github.com/Araq/Nim/issues/2039>`_)
|
||||
- Fixed "Macros fail to compile when compiled with --os:standalone"
|
||||
(`#2041 <https://github.com/Araq/Nim/issues/2041>`_)
|
||||
- Fixed "Reading from {.compileTime.} variables can cause code generation to fail"
|
||||
(`#2022 <https://github.com/Araq/Nim/issues/2022>`_)
|
||||
- Fixed "Passing overloaded symbols to templates fails inside generic procedures"
|
||||
(`#1988 <https://github.com/Araq/Nim/issues/1988>`_)
|
||||
- Fixed "Compiling iterator with object assignment in release mode causes "var not init""
|
||||
(`#2023 <https://github.com/Araq/Nim/issues/2023>`_)
|
||||
- Fixed "calling a large number of macros doing some computation fails"
|
||||
(`#1989 <https://github.com/Araq/Nim/issues/1989>`_)
|
||||
- Fixed "Can't get Koch to install nim under Windows"
|
||||
(`#2061 <https://github.com/Araq/Nim/issues/2061>`_)
|
||||
- Fixed "Template with two stmt parameters segfaults compiler"
|
||||
(`#2057 <https://github.com/Araq/Nim/issues/2057>`_)
|
||||
- Fixed "`noSideEffect` not affected by `echo`"
|
||||
(`#2011 <https://github.com/Araq/Nim/issues/2011>`_)
|
||||
- Fixed "Compiling with the cpp backend ignores --passc"
|
||||
(`#1601 <https://github.com/Araq/Nim/issues/1601>`_)
|
||||
- Fixed "Put untyped procedure parameters behind the experimental pragma"
|
||||
(`#1956 <https://github.com/Araq/Nim/issues/1956>`_)
|
||||
- Fixed "generic regression"
|
||||
(`#2073 <https://github.com/Araq/Nim/issues/2073>`_)
|
||||
- Fixed "generic regression"
|
||||
(`#2073 <https://github.com/Araq/Nim/issues/2073>`_)
|
||||
- Fixed "Regression in template lookup with generics"
|
||||
(`#2004 <https://github.com/Araq/Nim/issues/2004>`_)
|
||||
- Fixed "GC's growObj is wrong for edge cases"
|
||||
(`#2070 <https://github.com/Araq/Nim/issues/2070>`_)
|
||||
- Fixed "Compiler internal error when creating an array out of a typeclass"
|
||||
(`#1131 <https://github.com/Araq/Nim/issues/1131>`_)
|
||||
- Fixed "GC's growObj is wrong for edge cases"
|
||||
(`#2070 <https://github.com/Araq/Nim/issues/2070>`_)
|
||||
- Fixed "Invalid Objective-C code generated when calling class method"
|
||||
(`#2068 <https://github.com/Araq/Nim/issues/2068>`_)
|
||||
- Fixed "walkDirRec Error"
|
||||
(`#2116 <https://github.com/Araq/Nim/issues/2116>`_)
|
||||
- Fixed "Typo in code causes compiler SIGSEGV in evalAtCompileTime"
|
||||
(`#2113 <https://github.com/Araq/Nim/issues/2113>`_)
|
||||
- Fixed "Regression on exportc"
|
||||
(`#2118 <https://github.com/Araq/Nim/issues/2118>`_)
|
||||
- Fixed "Error message"
|
||||
(`#2102 <https://github.com/Araq/Nim/issues/2102>`_)
|
||||
- Fixed "hint[path] = off not working in nim.cfg"
|
||||
(`#2103 <https://github.com/Araq/Nim/issues/2103>`_)
|
||||
- Fixed "compiler crashes when getting a tuple from a sequence of generic tuples"
|
||||
(`#2121 <https://github.com/Araq/Nim/issues/2121>`_)
|
||||
- Fixed "nim check hangs with when"
|
||||
(`#2123 <https://github.com/Araq/Nim/issues/2123>`_)
|
||||
- Fixed "static[T] param in nested type resolve/caching issue"
|
||||
(`#2125 <https://github.com/Araq/Nim/issues/2125>`_)
|
||||
- Fixed "repr should display ``\0``"
|
||||
(`#2124 <https://github.com/Araq/Nim/issues/2124>`_)
|
||||
- Fixed "'nim check' never ends in case of recursive dependency "
|
||||
(`#2051 <https://github.com/Araq/Nim/issues/2051>`_)
|
||||
- Fixed "From macros: Error: unhandled exception: sons is not accessible"
|
||||
(`#2167 <https://github.com/Araq/Nim/issues/2167>`_)
|
||||
- Fixed "`fieldPairs` doesn't work inside templates"
|
||||
(`#1902 <https://github.com/Araq/Nim/issues/1902>`_)
|
||||
- Fixed "fields iterator misbehavior on break statement"
|
||||
(`#2134 <https://github.com/Araq/Nim/issues/2134>`_)
|
||||
- Fixed "Fix for compiler not building anymore since #c3244ef1ff"
|
||||
(`#2193 <https://github.com/Araq/Nim/issues/2193>`_)
|
||||
- Fixed "JSON parser fails in cpp output mode"
|
||||
(`#2199 <https://github.com/Araq/Nim/issues/2199>`_)
|
||||
- Fixed "macros.getType mishandles void return"
|
||||
(`#2211 <https://github.com/Araq/Nim/issues/2211>`_)
|
||||
- Fixed "Regression involving templates instantiated within generics"
|
||||
(`#2215 <https://github.com/Araq/Nim/issues/2215>`_)
|
||||
- Fixed ""Error: invalid type" for 'not nil' on generic type."
|
||||
(`#2216 <https://github.com/Araq/Nim/issues/2216>`_)
|
||||
- Fixed "--threads:on breaks async"
|
||||
(`#2074 <https://github.com/Araq/Nim/issues/2074>`_)
|
||||
- Fixed "Type mismatch not always caught, can generate bad code for C backend."
|
||||
(`#2169 <https://github.com/Araq/Nim/issues/2169>`_)
|
||||
- Fixed "Failed C compilation when storing proc to own type in object"
|
||||
(`#2233 <https://github.com/Araq/Nim/issues/2233>`_)
|
||||
- Fixed "Unknown line/column number in constant declaration type conversion error"
|
||||
(`#2252 <https://github.com/Araq/Nim/issues/2252>`_)
|
||||
- Fixed "Adding {.compile.} fails if nimcache already exists."
|
||||
(`#2247 <https://github.com/Araq/Nim/issues/2247>`_)
|
||||
- Fixed "Two different type names generated for a single type (C backend)"
|
||||
(`#2250 <https://github.com/Araq/Nim/issues/2250>`_)
|
||||
- Fixed "Ambigous call when it should not be"
|
||||
(`#2229 <https://github.com/Araq/Nim/issues/2229>`_)
|
||||
- Fixed "Make sure we can load root urls"
|
||||
(`#2227 <https://github.com/Araq/Nim/issues/2227>`_)
|
||||
- Fixed "Failure to slice a string with an int subrange type"
|
||||
(`#794 <https://github.com/Araq/Nim/issues/794>`_)
|
||||
- Fixed "documentation error"
|
||||
(`#2205 <https://github.com/Araq/Nim/issues/2205>`_)
|
||||
- Fixed "Code growth when using `const`"
|
||||
(`#1940 <https://github.com/Araq/Nim/issues/1940>`_)
|
||||
- Fixed "Instances of generic types confuse overload resolution"
|
||||
(`#2220 <https://github.com/Araq/Nim/issues/2220>`_)
|
||||
- Fixed "Compiler error when initializing sdl2's EventType"
|
||||
(`#2316 <https://github.com/Araq/Nim/issues/2316>`_)
|
||||
- Fixed "Parallel disjoint checking can't handle `<`, `items`, or arrays"
|
||||
(`#2287 <https://github.com/Araq/Nim/issues/2287>`_)
|
||||
- Fixed "Strings aren't copied in parallel loop"
|
||||
(`#2286 <https://github.com/Araq/Nim/issues/2286>`_)
|
||||
- Fixed "JavaScript compiler crash with tables"
|
||||
(`#2298 <https://github.com/Araq/Nim/issues/2298>`_)
|
||||
- Fixed "Range checker too restrictive"
|
||||
(`#1845 <https://github.com/Araq/Nim/issues/1845>`_)
|
||||
- Fixed "Failure to slice a string with an int subrange type"
|
||||
(`#794 <https://github.com/Araq/Nim/issues/794>`_)
|
||||
- Fixed "Remind user when compiling in debug mode"
|
||||
(`#1868 <https://github.com/Araq/Nim/issues/1868>`_)
|
||||
- Fixed "Compiler user guide has jumbled options/commands."
|
||||
(`#1819 <https://github.com/Araq/Nim/issues/1819>`_)
|
||||
- Fixed "using `method`: 1 in a objects constructor fails when compiling"
|
||||
(`#1791 <https://github.com/Araq/Nim/issues/1791>`_)
|
||||
|
||||
- Fixed internal compiler error when using ``char()`` in an echo call
|
||||
(`#1788 <https://github.com/Araq/Nim/issues/1788>`_).
|
||||
- Fixed Windows cross-compilation on Linux.
|
||||
- Overload resolution now works for types distinguished only by a
|
||||
``static[int]`` param
|
||||
(`#1056 <https://github.com/Araq/Nim/issues/1056>`_).
|
||||
- Other fixes relating to generic types and static params.
|
||||
- Fixed some compiler crashes with unnamed tuples
|
||||
(`#1774 <https://github.com/Araq/Nim/issues/1774>`_).
|
||||
- Fixed ``channels.tryRecv`` blocking
|
||||
(`#1816 <https://github.com/Araq/Nim/issues/1816>`_).
|
||||
- Fixed generic instantiation errors with ``typedesc``
|
||||
(`#419 <https://github.com/Araq/Nim/issues/419>`_).
|
||||
- Fixed generic regression where the compiler no longer detected constant
|
||||
expressions properly (`#544 <https://github.com/Araq/Nim/issues/544>`_).
|
||||
- Fixed internal error with generic proc using ``static[T]`` in a specific
|
||||
way (`#1049 <https://github.com/Araq/Nim/issues/1049>`_).
|
||||
- More fixes relating to generics
|
||||
(`#1820 <https://github.com/Araq/Nim/issues/1820>`_,
|
||||
`#1050 <https://github.com/Araq/Nim/issues/1050>`_,
|
||||
`#1859 <https://github.com/Araq/Nim/issues/1859>`_,
|
||||
`#1858 <https://github.com/Araq/Nim/issues/1858>`_).
|
||||
- Fixed httpclient to properly encode queries.
|
||||
- Many fixes to the ``uri`` module.
|
||||
- Async sockets are now closed on error.
|
||||
- Fixes to httpclient's handling of multipart data.
|
||||
- Fixed GC segfaults with asynchronous sockets
|
||||
(`#1796 <https://github.com/Araq/Nim/issues/1796>`_).
|
||||
- Added more versions to openssl's DLL version list
|
||||
(`076f993 <https://github.com/Araq/Nim/commit/076f993>`_).
|
||||
- Fixed shallow copy in iterators being broken
|
||||
(`#1803 <https://github.com/Araq/Nim/issues/1803>`_).
|
||||
- ``nil`` can now be inserted into tables with the ``db_sqlite`` module
|
||||
(`#1866 <https://github.com/Araq/Nim/issues/1866>`_).
|
||||
- Fixed "Incorrect assembler generated"
|
||||
(`#1907 <https://github.com/Araq/Nim/issues/1907>`_)
|
||||
- Fixed "Expression templates that define macros are unusable in some contexts"
|
||||
(`#1903 <https://github.com/Araq/Nim/issues/1903>`_)
|
||||
- Fixed "a second level generic subclass causes the compiler to crash"
|
||||
(`#1919 <https://github.com/Araq/Nim/issues/1919>`_)
|
||||
- Fixed "nim 0.10.2 generates invalid AsyncHttpClient C code for MSVC "
|
||||
(`#1901 <https://github.com/Araq/Nim/issues/1901>`_)
|
||||
- Fixed "1 shl n produces wrong C code"
|
||||
(`#1928 <https://github.com/Araq/Nim/issues/1928>`_)
|
||||
- Fixed "Internal error on tuple yield"
|
||||
(`#1838 <https://github.com/Araq/Nim/issues/1838>`_)
|
||||
- Fixed "ICE with template"
|
||||
(`#1915 <https://github.com/Araq/Nim/issues/1915>`_)
|
||||
- Fixed "include the tool directory in the installer as it is required by koch"
|
||||
(`#1947 <https://github.com/Araq/Nim/issues/1947>`_)
|
||||
- Fixed "Can't compile if file location contains spaces on Windows"
|
||||
(`#1955 <https://github.com/Araq/Nim/issues/1955>`_)
|
||||
- Fixed "List comprehension macro only supports infix checks as guards"
|
||||
(`#1920 <https://github.com/Araq/Nim/issues/1920>`_)
|
||||
- Fixed "wrong field names of compatible tuples in generic types"
|
||||
(`#1910 <https://github.com/Araq/Nim/issues/1910>`_)
|
||||
- Fixed "Macros within templates no longer work as expected"
|
||||
(`#1944 <https://github.com/Araq/Nim/issues/1944>`_)
|
||||
- Fixed "Compiling for Standalone AVR broken in 0.10.2"
|
||||
(`#1964 <https://github.com/Araq/Nim/issues/1964>`_)
|
||||
- Fixed "Compiling for Standalone AVR broken in 0.10.2"
|
||||
(`#1964 <https://github.com/Araq/Nim/issues/1964>`_)
|
||||
- Fixed "Code generation for mitems with tuple elements"
|
||||
(`#1833 <https://github.com/Araq/Nim/issues/1833>`_)
|
||||
- Fixed "httpclient.HttpMethod should not be an enum"
|
||||
(`#1962 <https://github.com/Araq/Nim/issues/1962>`_)
|
||||
- Fixed "terminal / eraseScreen() throws an OverflowError"
|
||||
(`#1906 <https://github.com/Araq/Nim/issues/1906>`_)
|
||||
- Fixed "setControlCHook(nil) disables registered quit procs"
|
||||
(`#1546 <https://github.com/Araq/Nim/issues/1546>`_)
|
||||
- Fixed "Unexpected idetools behaviour"
|
||||
(`#325 <https://github.com/Araq/Nim/issues/325>`_)
|
||||
- Fixed "Unused lifted lambda does not compile"
|
||||
(`#1642 <https://github.com/Araq/Nim/issues/1642>`_)
|
||||
- Fixed "'low' and 'high' don't work with cstring asguments"
|
||||
(`#2030 <https://github.com/Araq/Nim/issues/2030>`_)
|
||||
- Fixed "Converting to int does not round in JS backend"
|
||||
(`#1959 <https://github.com/Araq/Nim/issues/1959>`_)
|
||||
- Fixed "Internal error genRecordField 2 when adding region to pointer."
|
||||
(`#2039 <https://github.com/Araq/Nim/issues/2039>`_)
|
||||
- Fixed "Macros fail to compile when compiled with --os:standalone"
|
||||
(`#2041 <https://github.com/Araq/Nim/issues/2041>`_)
|
||||
- Fixed "Reading from {.compileTime.} variables can cause code generation to fail"
|
||||
(`#2022 <https://github.com/Araq/Nim/issues/2022>`_)
|
||||
- Fixed "Passing overloaded symbols to templates fails inside generic procedures"
|
||||
(`#1988 <https://github.com/Araq/Nim/issues/1988>`_)
|
||||
- Fixed "Compiling iterator with object assignment in release mode causes "var not init""
|
||||
(`#2023 <https://github.com/Araq/Nim/issues/2023>`_)
|
||||
- Fixed "calling a large number of macros doing some computation fails"
|
||||
(`#1989 <https://github.com/Araq/Nim/issues/1989>`_)
|
||||
- Fixed "Can't get Koch to install nim under Windows"
|
||||
(`#2061 <https://github.com/Araq/Nim/issues/2061>`_)
|
||||
- Fixed "Template with two stmt parameters segfaults compiler"
|
||||
(`#2057 <https://github.com/Araq/Nim/issues/2057>`_)
|
||||
- Fixed "`noSideEffect` not affected by `echo`"
|
||||
(`#2011 <https://github.com/Araq/Nim/issues/2011>`_)
|
||||
- Fixed "Compiling with the cpp backend ignores --passc"
|
||||
(`#1601 <https://github.com/Araq/Nim/issues/1601>`_)
|
||||
- Fixed "Put untyped procedure parameters behind the experimental pragma"
|
||||
(`#1956 <https://github.com/Araq/Nim/issues/1956>`_)
|
||||
- Fixed "generic regression"
|
||||
(`#2073 <https://github.com/Araq/Nim/issues/2073>`_)
|
||||
- Fixed "generic regression"
|
||||
(`#2073 <https://github.com/Araq/Nim/issues/2073>`_)
|
||||
- Fixed "Regression in template lookup with generics"
|
||||
(`#2004 <https://github.com/Araq/Nim/issues/2004>`_)
|
||||
- Fixed "GC's growObj is wrong for edge cases"
|
||||
(`#2070 <https://github.com/Araq/Nim/issues/2070>`_)
|
||||
- Fixed "Compiler internal error when creating an array out of a typeclass"
|
||||
(`#1131 <https://github.com/Araq/Nim/issues/1131>`_)
|
||||
- Fixed "GC's growObj is wrong for edge cases"
|
||||
(`#2070 <https://github.com/Araq/Nim/issues/2070>`_)
|
||||
- Fixed "Invalid Objective-C code generated when calling class method"
|
||||
(`#2068 <https://github.com/Araq/Nim/issues/2068>`_)
|
||||
- Fixed "walkDirRec Error"
|
||||
(`#2116 <https://github.com/Araq/Nim/issues/2116>`_)
|
||||
- Fixed "Typo in code causes compiler SIGSEGV in evalAtCompileTime"
|
||||
(`#2113 <https://github.com/Araq/Nim/issues/2113>`_)
|
||||
- Fixed "Regression on exportc"
|
||||
(`#2118 <https://github.com/Araq/Nim/issues/2118>`_)
|
||||
- Fixed "Error message"
|
||||
(`#2102 <https://github.com/Araq/Nim/issues/2102>`_)
|
||||
- Fixed "hint[path] = off not working in nim.cfg"
|
||||
(`#2103 <https://github.com/Araq/Nim/issues/2103>`_)
|
||||
- Fixed "compiler crashes when getting a tuple from a sequence of generic tuples"
|
||||
(`#2121 <https://github.com/Araq/Nim/issues/2121>`_)
|
||||
- Fixed "nim check hangs with when"
|
||||
(`#2123 <https://github.com/Araq/Nim/issues/2123>`_)
|
||||
- Fixed "static[T] param in nested type resolve/caching issue"
|
||||
(`#2125 <https://github.com/Araq/Nim/issues/2125>`_)
|
||||
- Fixed "repr should display ``\0``"
|
||||
(`#2124 <https://github.com/Araq/Nim/issues/2124>`_)
|
||||
- Fixed "'nim check' never ends in case of recursive dependency "
|
||||
(`#2051 <https://github.com/Araq/Nim/issues/2051>`_)
|
||||
- Fixed "From macros: Error: unhandled exception: sons is not accessible"
|
||||
(`#2167 <https://github.com/Araq/Nim/issues/2167>`_)
|
||||
- Fixed "`fieldPairs` doesn't work inside templates"
|
||||
(`#1902 <https://github.com/Araq/Nim/issues/1902>`_)
|
||||
- Fixed "fields iterator misbehavior on break statement"
|
||||
(`#2134 <https://github.com/Araq/Nim/issues/2134>`_)
|
||||
- Fixed "Fix for compiler not building anymore since #c3244ef1ff"
|
||||
(`#2193 <https://github.com/Araq/Nim/issues/2193>`_)
|
||||
- Fixed "JSON parser fails in cpp output mode"
|
||||
(`#2199 <https://github.com/Araq/Nim/issues/2199>`_)
|
||||
- Fixed "macros.getType mishandles void return"
|
||||
(`#2211 <https://github.com/Araq/Nim/issues/2211>`_)
|
||||
- Fixed "Regression involving templates instantiated within generics"
|
||||
(`#2215 <https://github.com/Araq/Nim/issues/2215>`_)
|
||||
- Fixed ""Error: invalid type" for 'not nil' on generic type."
|
||||
(`#2216 <https://github.com/Araq/Nim/issues/2216>`_)
|
||||
- Fixed "--threads:on breaks async"
|
||||
(`#2074 <https://github.com/Araq/Nim/issues/2074>`_)
|
||||
- Fixed "Type mismatch not always caught, can generate bad code for C backend."
|
||||
(`#2169 <https://github.com/Araq/Nim/issues/2169>`_)
|
||||
- Fixed "Failed C compilation when storing proc to own type in object"
|
||||
(`#2233 <https://github.com/Araq/Nim/issues/2233>`_)
|
||||
- Fixed "Unknown line/column number in constant declaration type conversion error"
|
||||
(`#2252 <https://github.com/Araq/Nim/issues/2252>`_)
|
||||
- Fixed "Adding {.compile.} fails if nimcache already exists."
|
||||
(`#2247 <https://github.com/Araq/Nim/issues/2247>`_)
|
||||
- Fixed "Two different type names generated for a single type (C backend)"
|
||||
(`#2250 <https://github.com/Araq/Nim/issues/2250>`_)
|
||||
- Fixed "Ambigous call when it should not be"
|
||||
(`#2229 <https://github.com/Araq/Nim/issues/2229>`_)
|
||||
- Fixed "Make sure we can load root urls"
|
||||
(`#2227 <https://github.com/Araq/Nim/issues/2227>`_)
|
||||
- Fixed "Failure to slice a string with an int subrange type"
|
||||
(`#794 <https://github.com/Araq/Nim/issues/794>`_)
|
||||
- Fixed "documentation error"
|
||||
(`#2205 <https://github.com/Araq/Nim/issues/2205>`_)
|
||||
- Fixed "Code growth when using `const`"
|
||||
(`#1940 <https://github.com/Araq/Nim/issues/1940>`_)
|
||||
- Fixed "Instances of generic types confuse overload resolution"
|
||||
(`#2220 <https://github.com/Araq/Nim/issues/2220>`_)
|
||||
- Fixed "Compiler error when initializing sdl2's EventType"
|
||||
(`#2316 <https://github.com/Araq/Nim/issues/2316>`_)
|
||||
- Fixed "Parallel disjoint checking can't handle `<`, `items`, or arrays"
|
||||
(`#2287 <https://github.com/Araq/Nim/issues/2287>`_)
|
||||
- Fixed "Strings aren't copied in parallel loop"
|
||||
(`#2286 <https://github.com/Araq/Nim/issues/2286>`_)
|
||||
- Fixed "JavaScript compiler crash with tables"
|
||||
(`#2298 <https://github.com/Araq/Nim/issues/2298>`_)
|
||||
- Fixed "Range checker too restrictive"
|
||||
(`#1845 <https://github.com/Araq/Nim/issues/1845>`_)
|
||||
- Fixed "Failure to slice a string with an int subrange type"
|
||||
(`#794 <https://github.com/Araq/Nim/issues/794>`_)
|
||||
- Fixed "Remind user when compiling in debug mode"
|
||||
(`#1868 <https://github.com/Araq/Nim/issues/1868>`_)
|
||||
- Fixed "Compiler user guide has jumbled options/commands."
|
||||
(`#1819 <https://github.com/Araq/Nim/issues/1819>`_)
|
||||
- Fixed "using `method`: 1 in a objects constructor fails when compiling"
|
||||
(`#1791 <https://github.com/Araq/Nim/issues/1791>`_)
|
||||
|
||||
2014-12-29 Version 0.10.2 released
|
||||
==================================
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<a class="news" href="news.html#Z2015-04-30-version-0-11-0-released">
|
||||
<h4>Apr 30, 2015</h4>
|
||||
<p>Nim version 0.11.0 has been released!</p>
|
||||
</a>
|
||||
|
||||
<a class="news" href="news.html#Z2014-12-29-version-0-10-2-released">
|
||||
<h4>Dec 29, 2014</h4>
|
||||
<p>Nim version 0.10.2 has been released!</p>
|
||||
</a>
|
||||
|
||||
<a class="news" href="news.html#Z2014-12-09-new-website-design">
|
||||
<h4>Dec 9, 2014</h4>
|
||||
<p>The new website design and forum are now online!</p>
|
||||
</a>
|
||||
|
||||
<a class="news" href="news.html#Z2014-02-11-nimrod-featured-in-dr-dobb-s-journal">
|
||||
<h4>Feb 11, 2014</h4>
|
||||
<p>Nimrod featured in Dr. Dobb's Journal</p>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue