Quinton Miller
Quinton Miller
How would unions between them work if they are no longer covariant?
For the local variable case I think it is good to be explicit here. We could declare `x` to be a variable with no fixed type: ```crystal x : _...
Apart from semantic correctness, this has the benefit that parsers and tools which don't rely on semantic analysis may determine whether the `x` in the `puts` call is a variable...
The favicon was originally at 128x128
It seems the `Proc`s that return large structs do expect the stack to be set up by the caller: https://godbolt.org/z/E5qvP6GPb I think it is okay to create a wrapper closure...
For the Compiler Explorer it would be very useful if the assembly and the IR can both be generated without actually compiling / linking that into a binary or `.o`...
An `Exception` is an `Exception?` though. What does the actual error look like?
Duplicate of crystal-lang-tools/scry#186. It seems it might have happened because `Exception` here refers to [`Crystal::Exception`](https://github.com/crystal-lang-tools/scry/blob/8e8e822470a942c1f8fbf5b4653a17b30674499f/src/scry/missing_methods.cr#L10-L16), but the same class in the Crystal compiler has been renamed to `Crystal::CodeError` in #10197....
If we allow: ```crystal struct Value def self.foo : self? end end struct Char def self.foo : self? super end end Char.foo # => nil ``` There is no reason...
I looked into this a bit and in the first case the compiler actually forms the union between `Value+` and `Nil`, and that doesn't produce an error for some reason....