-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Crystal 1.11.0 cannot build older Crystal stdlib #14194
Comments
Alternatively, we could implement a backwards-compatible definition. The compiler could only use this type if it's already defined in the program, otherwise skip it. Or we define the proper inheritance in the compiler, I suppose we just need to explicitly declare that it inherits |
The solution would probably be having the first definition in code create the underlying class, rather than making it built-in. The definition in code would then be annotated, taking advantage of the fact Crystal never disallows @[Primitive(:reference_storage_type)]
struct ReferenceStorage(T) < Value
end Additionally, this may provide more freedom in renaming the type since it isn't hardcoded across both the compiler and the standard library. |
#14204 looks like a great solution 🚀 I feel this might be a bit much for a patch release though. So perhaps we better just revert #14106 for now and merge the new implementation later (i.e. for 0.12.0)? |
I agree with @straight-shoota that it might be convenient to revert and take these three months to work on it |
I meet basically same issue, when build 1.11.0, i meet #14195 and interpreter not work, when i want to build 1.10.1 use new compiler, it failed. |
Resolved by #14207 |
The 1.11.0 compiler is unable to build a program with an older version of stdlib. The reason for this is the introduction of
ReferenceStorage(T)
(#14106). The compiler knows this type and defines it, yet it does not fully implement it. Current stlib does take care of this, but older versions do not, leaving the implementation missing.This is the error message:
The text was updated successfully, but these errors were encountered: