Quinton Miller
Quinton Miller
Reduced: ```crystal lib Lib type Foo = Int32* end x = Pointer(Int32).new(0x1234_u64).as(Lib::Foo) x.value # pointer_get x.value = 1 # pointer_set ``` Some other related pointer primitives break in normal codegen...
I don't think restricting the integer type makes the function any safer, because that implies a C library has to indicate the impossibility of pointers by using a 64-bit type...
That only affects our own calls to `.print_error`, which are not the focus of this PR. `LibGC::Word` is going to be the same whether we allow all integer types or...
I honestly don't see a problem about that.
Exactly. I don't see a problem with allowing `Int::Primitive` here. Otherwise the caller would simply add `to_u64` at the call site and that doesn't make the `.print_error` call any safer.
You have to include `UInt32` since native pointers have that size on 32-bit targets. The most I'd allow is `Int32 | UInt32 | Int64 | UInt64` on all platforms, since...
`Process#wait` must not block the current thread whether as a bug or by design, especially now that it is asynchronous on compiled Windows as well. IMO at a minimum the...
For the record, this works in Ruby
More precisely they should go to `Crystal::Compiler#stderr`, and never to hardcoded references of the `STDERR` constant
Rethinking about this, the other types of events are, well, _not_ interrupts. The name `on_interrupt` was chosen chiefly for the platform-independent Ctrl+C. So I am not sure if a single...