Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] [TODO] miscellaneous issues #8753

Closed
7 of 37 tasks
timotheecour opened this issue Aug 23, 2018 · 0 comments
Closed
7 of 37 tasks

[WIP] [TODO] miscellaneous issues #8753

timotheecour opened this issue Aug 23, 2018 · 0 comments
Labels
Iterators OS (stdlib) Related to OS modules in standard library osproc typetraits

Comments

@timotheecour
Copy link
Member

timotheecour commented Aug 23, 2018

see also: label:postponed label:"TODO items remaining" title: [WIP] title: [TODO]

doc

# 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:

image

  • 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

CI

in koch.nim: follow up from #10183:

  • 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

typetraits.name

runnableExamples

  • 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

=> #11732

iterators

osproc

pathutils

  • this doesn't make sense:
    os.isAbsolute(f.string) seems odd; and why unix instead of posix?
    $nimc_D/compiler/nim.nim
proc prependCurDir(f: AbsoluteFile): AbsoluteFile =
  when defined(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
proc strVal*(n: NimNode): string  {.magic: "NStrVal", noSideEffect.}
    ## retrieve the implementation of `symbol`. `symbol` can be a
    ## routine or a const.
  • 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 #5875

  • Error: node lacks field: X => should tell the node kind

  • remove {.compileTime.} from all procs with a NimNode param since that pragma is automatically inferred by compiler in this case

defer

misc

important issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Iterators OS (stdlib) Related to OS modules in standard library osproc typetraits
Projects
None yet
Development

No branches or pull requests

1 participant