Jean Boussier <[email protected]> wrote:
> Interestingly, this patch would also help with Ruby 3.2 compatibility.
> 
> Ruby 3.2 removed `Kernel#=~`, so when misbehaving app return header values
> in e.g. Integer
> unicorn now choke on it:

Thanks for that note.  2 things:

1. Ugh.  That sort disregard for compatibility at the expense of making
   things "better" is why I and most people I've known no longer do new
   projects in Ruby :<  Heck, I started rewriting many of unicorn's tests
   in Perl5 a few weeks ago since I want to be able to trust them decades
   from now.

2. I suppose unicorn will continue letting misbehaving apps have
   their way.  It would be nice if developers consistently
   tested with Rack::Lint, of course

> Whereas on 3.1 and older, `42 =~ /\n/` would simply not match and cast the
> header as a String.

Now I wonder if case/when === behavior will break someday...

Reply via email to