mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 18:02:05 +00:00
* simplified proc-like name ident to symbol code * wip - reworking generic param sem * wip - closer to removing nkEmpty generic params * it's hacky but tests pass * slowly tweaking semProcAux to take on semLambda * fix pragma superset check proto vs current * Set the symbol owner earlier * partial progress reworking proto found bug where default values between forward and impl lead to overload resolution issues. * simplified pragma handling and callConv checks Co-authored-by: Clyybber <Clyybber@users.noreply.github.com> * partially working * cgexprs issue * It works! * comment clean-up * clean-up asserts, comments, and other bits * add isGenericParams, inline isGeneric queries * seeing if this is sufficiently consistent * can use this approach or continue it in a further PR * commentary about nullary generics and clean-ups * fixed a mistake in PNode isGenericRoutine * Some small cleanups * Small cleanup * for func lambdas ensure we use lambda pragmas * add some basic compileTime func tests * [ci skip] remove comments Co-authored-by: Clyybber <Clyybber@users.noreply.github.com> Co-authored-by: Clyybber <darkmine956@gmail.com>
27 lines
254 B
Nim
27 lines
254 B
Nim
discard """
|
|
nimout: '''
|
|
hah
|
|
hey
|
|
hey
|
|
hah
|
|
'''
|
|
"""
|
|
|
|
# non-generic
|
|
proc foo(s: string) =
|
|
static: echo "hah"
|
|
echo s
|
|
|
|
static: echo "hey"
|
|
|
|
foo("hoo")
|
|
|
|
# nullary generic
|
|
proc bar[](s: string) =
|
|
static: echo "hah"
|
|
echo s
|
|
|
|
static: echo "hey"
|
|
|
|
bar("hoo")
|