Quinton Miller

Results 414 comments of Quinton Miller

For PRs like #14969 and #15052 coming from branches of this repository itself rather than from forks, is there any point in running the same set of jobs for both...

These are probably resolved by #14995, however that PR currently timeouts

There is a second issue here. `#unsafe_as` can trigger dynamic dispatch: (contrast with #12846) ```crystal x = 123 || nil alias T = UInt8[4] x.unsafe_as(T) # => StaticArray[123, 0, 0,...

Yet another issue is that `T` may have a larger alignment than the object. Since `Pointer(T)#value` assumes the pointer to have `T`'s alignment, code like below can in general lead...

If LLVM cannot infer any stricter alignment it will generate individual byte reads for the `load i128`.

IIUC this alone won't let you use `Slice`s in a compare-by-identity `Hash` yet, right?

> we're not talking about "obvious" cases like mutating an Array, I'd remember to protect accesses (usually) but updating _one_ value? That's usually thread safe... until it's not because Crystal...

For the record, this also applies to other libraries that require the version to be determined at build time, e.g. Boehm GC and OpenSSL

A while ago I was thinking that if constrained generic parameters use: ```crystal # `

C complex numbers are ABI-equivalent to 2-element arrays of their element types. But the real problem is that Crystal doesn't support any of C's "long" doubles yet.