Alexander Momchilov

Results 100 issues of Alexander Momchilov

The automatic implementation of `objectWillChange` (driven by changes to `@Published` properties) is only applicable when `ObjectWillChangePublisher` is `ObservableObjectPublisher`. The behaviour is already correct, but let's add a test to ensure...

When I was tinkering around and profiling GraphQL Ruby around a year ago, I found some small+easy perf wins from optimizing some commonly queried "predicate methods", by defining them via...

Add specifications for all the reserved keywords, documenting which of them can be used as: 1. local variables 2. instance variables 3. global variables 4. positional parameter names 5. keyword...

This was a really common pattern that I needed to repeat several times in #1187. I noticed it repeated a bunch (69 times), and could be simplified really nicely with...

This documents behaviour like: ```ruby def do_something(if:) # Behaves like `binding.local_variable_get(:if)`, but faster. condition = { if: }[:if] end ```

It's one less allocation, too :) | | YJIT off | YJIT on | |------------------------------:|-----------:|-----------:| | `Set.new.compare_by_identity` | 2.571M | 4.260M | | `S.dup` | **3.014M** | **4.999M** | |...

These memoizations don't work like they were likely intended to: https://github.com/Shopify/tapioca/blob/21a9a6dcfa9a58ccf794f09ef8a2604859dc8506/lib/tapioca/dsl/compiler.rb#L49-L64 The Enumerator is cached, but it doesn't internally cache the objects it sees when enumerated. Each call will walk...

good-first-issue

`sprintf` is marked deprecated in the macOS clang toolchain. It's a good idea to use `snprintf` anyway, to make sure we don't overflow these small buffers. ``` external/ragel_v6.10/ragel/parsetree.cpp:185:3: warning: 'sprintf'...

This PR adds `LCSC` to the symbol properties of all the placeable parts. Exporting correctly working BOM and POS CSV files was harder than I expected, so I figured I'd...