You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# from dcstyle.rst
* Inline code should be surrounded by single tick marks (`` like `this` ``). If you would like a character to immediately follow inline code (e.g., "``int8``s are great!"), escape the following character with a backslash (``\``). The preceding is typed as ``` ``int8``\s are great!```.
renders as:
SPEED:./koch docs runs each nim doc separately, could use a single cmd: nim doc --project fileThatImportsAll.nim + maybe a few other files if needed
time each exec command (so we know the bottlenecks)
add a smoke test (eg smoke_test.nim) that runs as early as possible (before other tests) and whose job is to fail fast to reject PR's in a bad state (eg after a typo) and avoid wasting CI time for these; it shall import as many modules as possible (without running into known limitations) and just try to compile it (maybe via nim --errrormax:0 smoke_test.nim) ; code can be reused with megatest maybe
with NIM_COMPILE_TO_CPP=true runs in travis/appveyor, the nim mode is probably not yet being honored everywhere (eg nim c hardcoded in places)
on error, testament doesn't show the relevant err msg if there are many, eg: see D20190111T070023
report which tests are disabled (in a output json file)
compiler
update vmgen.codeListing to use compiler/asciitables.nim instead ; it'll generate nicer looking listings
move compiler/asciitables.nim to stdlib
testament
use assertEquals and mismatch in testament
var compilerPrefix* = "compiler" / "nim" ## built via ./koch tests => instead, use nim from PATH, else from —nim; not from compiler" / “nim" and don't rebuild it in ./koch tests D20190205T124107
=> ./koch tests now does not rebuild nim #10572
runnableExamples could probably be run on module scope instead of inside a block; would simplify code (no need to mess with import), and allow certain things that are impossible inside a runnableExamples (eg: X has to be at module scope); I ran into this for several unrelated issues, preventing use of runnnableExamples in those cases; this would fix that; note: no performance penalty now that runnableExamples are all run at once
this doesn't make sense:
os.isAbsolute(f.string) seems odd; and why unix instead of posix?
$nimc_D/compiler/nim.nim
procprependCurDir(f: AbsoluteFile): AbsoluteFile=whendefined(unix):
if os.isAbsolute(f.string): result= f
else: result=AbsoluteFile("./"& f.string)
else:
result= f
std/macros
wrong doc for strVal; probably refers to getImpl
procstrVal*(n: NimNode): string {.magic: "NStrVal", noSideEffect.}
## retrieve the implementation of `symbol`. `symbol` can be a## routine or a const.
see also: label:postponed label:"TODO items remaining" title: [WIP] title: [TODO]
doc
EDIT: partially done, tracked here: docgen doesn't create links for certain symbols #10487
renders as:
./koch docs
runs eachnim doc
separately, could use a single cmd:nim doc --project fileThatImportsAll.nim
+ maybe a few other files if neededCI
in koch.nim: follow up from #10183:
exec
command (so we know the bottlenecks)smoke_test.nim
) that runs as early as possible (before other tests) and whose job is to fail fast to reject PR's in a bad state (eg after a typo) and avoid wasting CI time for these; it shall import as many modules as possible (without running into known limitations) and just try to compile it (maybe vianim --errrormax:0 smoke_test.nim
) ; code can be reused with megatest maybeNIM_COMPILE_TO_CPP=true
runs in travis/appveyor, the nim mode is probably not yet being honored everywhere (egnim c
hardcoded in places)compiler
testament
var compilerPrefix* = "compiler" / "nim" ## built via ./koch tests
=> instead, use nim from PATH, else from—nim
; not fromcompiler" / “nim"
and don't rebuild it in./koch tests
D20190205T124107=> ./koch tests now does not rebuild nim #10572
typetraits.name
typetraits.name
behaves unexpectedtypetraits.name
behaves unexpected #8083echo A[B]
prints differently depending on unrelated code [typetraits]echo A[B]
prints differently depending on unrelated code #8569=> still not completely fixed : see test case in Expand tyAlias when printing nested types #8634 (comment)
runnableExamples
import
), and allow certain things that are impossible inside a runnableExamples (eg: X has to be at module scope); I ran into this for several unrelated issues, preventing use of runnnableExamples in those cases; this would fix that; note: no performance penalty now that runnableExamples are all run at once=> #11732
iterators
for x in myIter(42)(): ...
gives infinite loop; inconsistent withlet it = iterGen(42); for x in it(): ...
for x in myIter(1)(): ...
gives infinite loop; inconsistent withlet it = iterGen(1); for x in it(): ...
#8775yield
in inline iterator cause code bloat #10553 (comment)osproc
pathutils
os.isAbsolute(f.string) seems odd; and why unix instead of posix?
$nimc_D/compiler/nim.nim
std/macros
deprecate all these: newStrLitNode, newIntLitNode since we can use newLit
for
newFloatLitNode
I'm not sure, see comment in code regarding int int32 int64 are all distinct types, but float and float64 are not #5875Error: node lacks field: X
=> should tell the node kindremove
{.compileTime.}
from all procs with aNimNode
param since that pragma is automatically inferred by compiler in this casedefer
misc
path
is unclear : IMO should be used for a string that can represent both a file and dir, but description not clearAdded the parameter val for the CritBitTree[int].inc proc.
Added the parameter val for the CritBitTree[T].incl proc.
There will be an outmated process
in b138e89aspell
as linter to find typos? (and use some logic based on accepting stuff in index as ok workds)clongdouble
, see Discrepancy in Documentation About 'f128 Type-Suffix #10213 (comment)toInt(1e19)
should raise instead of returning -9223372036854775808 ; see toInt doesn't raise an exception #2764 (comment) and Floats are not range checked #7179elif defined(nimVM): OsPlatform.nimVM
(instead of:when nimvm
)important issues
The text was updated successfully, but these errors were encountered: