-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
expression in type body causes incorrect/useless error message #12415
Labels
Comments
krux02
changed the title
expression in type body causes a weird error message
expression in type body causes incorrect/useless error message
Oct 13, 2019
Given example compiles in 2.0
|
metagn
added a commit
to metagn/Nim
that referenced
this issue
Aug 27, 2023
closes nim-lang#12582, closes nim-lang#19552, closes nim-lang#2465, closes nim-lang#4596, closes nim-lang#15246, closes nim-lang#12683, closes nim-lang#7889, closes nim-lang#4547, closes nim-lang#12415, closes nim-lang#2002, closes nim-lang#1771, closes nim-lang#5121 The test for nim-lang#5648 is also moved into its own test from `types/tissues_types` due to not being joinable.
narimiran
pushed a commit
that referenced
this issue
Sep 18, 2023
* test case haul for old generic/template/macro issues closes #12582, closes #19552, closes #2465, closes #4596, closes #15246, closes #12683, closes #7889, closes #4547, closes #12415, closes #2002, closes #1771, closes #5121 The test for #5648 is also moved into its own test from `types/tissues_types` due to not being joinable. * fix template gensym test (cherry picked from commit c19fd69)
narimiran
pushed a commit
that referenced
this issue
Sep 18, 2023
* test case haul for old generic/template/macro issues closes #12582, closes #19552, closes #2465, closes #4596, closes #15246, closes #12683, closes #7889, closes #4547, closes #12415, closes #2002, closes #1771, closes #5121 The test for #5648 is also moved into its own test from `types/tissues_types` due to not being joinable. * fix template gensym test (cherry picked from commit c19fd69)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Example
Current Output
typedesc(T)
nottype(T)
, some remains of the failed attempt to allow the keywordtype
in more expressions.type T
, but gottype T
? How is that really the cause of the problem?Expected Output
This should just compile
Possible Solution
I think the body of the generic type is instantiated immediately. So
isSomePointer(typedec(T))
is resolved immediately beforeT
is even resolved to a concrete type value. I think the evaluation ofisSomePointer(typedesc(T))
should be delayed until the parameterT
has been give to the type, similar to howisSomePointer(typedesc(T))
is resolved within the body of a generic function.Additional Information
This is code that I wrote in order to fix issue #9566. When this issue has been fixed, #9566 can be fixed as well.
The text was updated successfully, but these errors were encountered: