> A major version bump is a chance to introduce incompatibilities, so I think we should decide for each deprecation whether to keep the schedule or to remove it at the major version. Ok I see, that makes sense. It might also be useful...Dan0042 (Daniel DeLorme)
shugo (Shugo Maeda) wrote in #note-5: > a year cannot be converted to a version at compile time. I don't understand why converting a year to a version at compile time would be needed. We would need to compare `year >= RUBY_RELEASE_YE...Dan0042 (Daniel DeLorme)
I very much like the idea, but the issue with version numbers is that major version jumps break linear assumptions. For example, in 2023 (Ruby 3.3), if we want to deprecate something in 3 years, we might target 3.6. But as Ruby jumped f...Dan0042 (Daniel DeLorme)
### 1. Object, block, and Enumerator forms Imho there are two options here a) If block form is supported, the offset is a keyword argument. It was not requested by the OP (also not in my duplicate #19177), but it's more versatile ...Dan0042 (Daniel DeLorme)
Introducing efficient bit operations is a great idea, but looking at the proposed methods, having to pass `lsb_first:` repeatedly across multiple bit-related methods suggests that the bit-endianness is a cross-cutting concern. I belie...Dan0042 (Daniel DeLorme)
I'm bumping this because just today I wished Ruby had this feature (although the discussion above seems to have diverged quite a bit) ```ruby Dependencies = {} def require_dep(filename) Dependencies[filename] = [Time.now] requ...Dan0042 (Daniel DeLorme)
You have mostly convinced me about backward compatibility, but I still find that new API awkward. I may be bikeshedding here, but is there a precedent in Ruby for a macro that assigns multiple variables? Given the new API is meant to ...Dan0042 (Daniel DeLorme)
> I think that we don't need to introduce `RSTRING_RAW_END()` or something. We can just recommend `RSTRING_RAW_PTR() + RSTRING_LEN()` instead of `RSTRING_END()`. Then what was the original purpose of introducing `RSTRING_END()` in the f...Dan0042 (Daniel DeLorme)
> `RSTRING_CSTR()` doesn't check whether `\0` is included in the target content or not. That is a very good point. In that case, perhaps the new NUL-terminated macro should instead alias or behave similarly to `StringValueCStr()`. Other...Dan0042 (Daniel DeLorme)
I agree that completely deprecating RSTRING_PTR might not be strictly necessary, but for the sake of a smooth migration, I highly recommend introducing RSTRING_CSTR as an alias for the new, NUL-terminated RSTRING_PTR behavior. Introdu...Dan0042 (Daniel DeLorme)