Alan Wu

Results 20 issues of Alan Wu

Currently, impossible intersections are turned into `T.noreturn` ```ruby extend(T::Sig) sig {params(a: T.all(TrueClass, FalseClass)).void} def superposition(a) end superposition(5) # Integer(5) doesn't match T.noreturn for argument a ``` https://sorbet.run/#extend(T%3A%3ASig)%0A%0Asig%20%7Bparams(a%3A%20T.all(TrueClass%2C%20FalseClass)).void%7D%0Adef%20superposition(a)%0Aend%0A%0Asuperposition(5)%0A I think this...

enhancement

This makes make delete target files if the recipe fails mid way, like when make itself is interrupted. This mostly helps development since it protects against corrupt builds that need...

This test is derived from the test above it. If I run the test in a shell loop on a debug build it eventually trips the following assert: Assertion Failed:...

Here is a review of the argument setup details in `gen_send_iseq()` cause I think there is room for simplification, both in terms of generator code and generated code. It's not...

The current `opt_setinlinecache` implementation invalidates the block for the corresponding `opt_getinlinecache`, and one could make `opt_setinlinecache` run by setting any constant. Apps that use `Module#const_set` at runtime will leak memory...

bug

```ruby class Foo def test TEST end end Bar1 = Foo.clone Bar1::TEST = 1 p Bar1.new.test # 1 on MRI 2.4.x ~ 3.0.0, NameError on TruffleRuby 21.0.0 ```

bug

This is a backport PR for https://bugs.ruby-lang.org/issues/20209 When we landed the singleton class fix on master, it revealed some unrelated panics with tailcalls which destabilized CI. So I'm making a...

Backport

On a benchmark we have using `hexapdf`, TruffleRuby seems to have speed that becomes more and more variable the longer one lets the benchmark run. Also, memory usage seems to...

memory-footprint

These are new instructions added in https://github.com/ruby/ruby/pull/9721 and https://github.com/ruby/ruby/pull/9726 we should probably be using since they save allocations.

enhancement
compiler