From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.1 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, T_SCC_BODY_TEXT_LINE shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 288951F405; Thu, 8 Feb 2024 22:21:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yhbt.net; s=selector1; t=1707430870; bh=h/ewgJJtJ7VAs5xkc14huuUqpIMaBLH1O+s8Nn3gsHE=; h=Date:From:To:Subject:References:In-Reply-To:From; b=2GZXVRZrz+sUZV+HrIHA9YefHuW7WJERGMJsUrgJcCQWgTMn7q/YXjS+pNsjkLszb DsfhJBVIDb3gul/HbGlK3w+o3311C5df243i+xyz3a5+eDS+v1Kjep+YVG6MH62V14 p3HU7TYPkAagnmqImZwWAQC74hj+oP7WGYw67G24= Date: Thu, 8 Feb 2024 22:21:09 +0000 From: Eric Wong To: raindrops-public@yhbt.net Subject: [PATCH v2] treewide: future-proof frozen_string_literal changes Message-ID: <20240208222110.M47288@dcvr> References: <20240208112216.2650386-1-bofh@yhbt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240208112216.2650386-1-bofh@yhbt.net> List-Id: Once again Ruby seems ready to introduce more incompatibilities and force busywork upon maintainers[1]. In order to avoid incompatibilities in the future, I used a Perl script[2] to prepend `frozen_string_literal: false' to every Ruby file. Somebody interested will have to go through every Ruby source file and enable frozen_string_literal once they've thoroughly verified it's safe to do so. [1] https://bugs.ruby-lang.org/issues/20205 [2] https://yhbt.net/add-fsl.git/74d7689/s/?b=add-fsl.perl --- v2: using add-fsl.perl instead of ed script to handle more cases: `encoding:' must precede frozen_string_literal; add after shebang and embedded Rackup CLI switches. idempotency. perl is likely installed on more systems than ed(1) nowadays even if ed is POSIX. It's certainly true for Debian: https://qa.debian.org/popcon.php?package=ed https://qa.debian.org/popcon.php?package=perl examples/linux-listener-stats.rb | 1 + examples/middleware.ru | 1 + examples/watcher.ru | 1 + examples/watcher_demo.ru | 1 + examples/yahns.conf.rb | 1 + examples/zbatery.conf.rb | 1 + ext/raindrops/extconf.rb | 1 + lib/raindrops.rb | 1 + lib/raindrops/aggregate.rb | 1 + lib/raindrops/aggregate/last_data_recv.rb | 1 + lib/raindrops/aggregate/pmq.rb | 1 + lib/raindrops/last_data_recv.rb | 1 + lib/raindrops/linux.rb | 1 + lib/raindrops/middleware.rb | 1 + lib/raindrops/middleware/proxy.rb | 1 + lib/raindrops/struct.rb | 1 + lib/raindrops/watcher.rb | 1 + setup.rb | 1 + test/ipv6_enabled.rb | 1 + test/rack_unicorn.rb | 1 + test/test_aggregate_pmq.rb | 1 + test/test_inet_diag_socket.rb | 1 + test/test_last_data_recv.rb | 1 + test/test_last_data_recv_unicorn.rb | 1 + test/test_linux.rb | 1 + test/test_linux_all_tcp_listen_stats.rb | 1 + test/test_linux_all_tcp_listen_stats_leak.rb | 1 + test/test_linux_ipv6.rb | 1 + test/test_linux_middleware.rb | 1 + test/test_linux_reuseport_tcp_listen_stats.rb | 1 + test/test_middleware.rb | 1 + test/test_middleware_unicorn.rb | 1 + test/test_middleware_unicorn_ipv6.rb | 1 + test/test_raindrops.rb | 1 + test/test_raindrops_gc.rb | 1 + test/test_struct.rb | 1 + test/test_tcp_info.rb | 1 + test/test_watcher.rb | 1 + 38 files changed, 38 insertions(+) diff --git a/examples/linux-listener-stats.rb b/examples/linux-listener-stats.rb index 7e767da..5f67633 100755 --- a/examples/linux-listener-stats.rb +++ b/examples/linux-listener-stats.rb @@ -2,0 +3 @@ +# frozen_string_literal: false diff --git a/examples/middleware.ru b/examples/middleware.ru index 642016b..a485592 100644 --- a/examples/middleware.ru +++ b/examples/middleware.ru @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/examples/watcher.ru b/examples/watcher.ru index a3e7fdb..e2aa97c 100644 --- a/examples/watcher.ru +++ b/examples/watcher.ru @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/examples/watcher_demo.ru b/examples/watcher_demo.ru index 91f4cca..7a6e675 100644 --- a/examples/watcher_demo.ru +++ b/examples/watcher_demo.ru @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/examples/yahns.conf.rb b/examples/yahns.conf.rb index f5b4f10..75f0bd1 100644 --- a/examples/yahns.conf.rb +++ b/examples/yahns.conf.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/examples/zbatery.conf.rb b/examples/zbatery.conf.rb index 5f94c0e..0537466 100644 --- a/examples/zbatery.conf.rb +++ b/examples/zbatery.conf.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/ext/raindrops/extconf.rb b/ext/raindrops/extconf.rb index b8f147c..b1310b0 100644 --- a/ext/raindrops/extconf.rb +++ b/ext/raindrops/extconf.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/lib/raindrops.rb b/lib/raindrops.rb index dc61952..c071d57 100644 --- a/lib/raindrops.rb +++ b/lib/raindrops.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/aggregate.rb b/lib/raindrops/aggregate.rb index 4fb731f..9ed7eb7 100644 --- a/lib/raindrops/aggregate.rb +++ b/lib/raindrops/aggregate.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/aggregate/last_data_recv.rb b/lib/raindrops/aggregate/last_data_recv.rb index 32908f2..2205208 100644 --- a/lib/raindrops/aggregate/last_data_recv.rb +++ b/lib/raindrops/aggregate/last_data_recv.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/aggregate/pmq.rb b/lib/raindrops/aggregate/pmq.rb index 64d0a4f..94bdf4f 100644 --- a/lib/raindrops/aggregate/pmq.rb +++ b/lib/raindrops/aggregate/pmq.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/last_data_recv.rb b/lib/raindrops/last_data_recv.rb index b4808a1..e6c47e1 100644 --- a/lib/raindrops/last_data_recv.rb +++ b/lib/raindrops/last_data_recv.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/linux.rb b/lib/raindrops/linux.rb index 9842ae1..a76192c 100644 --- a/lib/raindrops/linux.rb +++ b/lib/raindrops/linux.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/middleware.rb b/lib/raindrops/middleware.rb index 20e573c..25b5a1e 100644 --- a/lib/raindrops/middleware.rb +++ b/lib/raindrops/middleware.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/middleware/proxy.rb b/lib/raindrops/middleware/proxy.rb index a7c8e66..433950c 100644 --- a/lib/raindrops/middleware/proxy.rb +++ b/lib/raindrops/middleware/proxy.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/struct.rb b/lib/raindrops/struct.rb index e81a78e..7233ce8 100644 --- a/lib/raindrops/struct.rb +++ b/lib/raindrops/struct.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/lib/raindrops/watcher.rb b/lib/raindrops/watcher.rb index ac5b895..8fc0772 100644 --- a/lib/raindrops/watcher.rb +++ b/lib/raindrops/watcher.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/setup.rb b/setup.rb index 5eb5006..b382468 100644 --- a/setup.rb +++ b/setup.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/ipv6_enabled.rb b/test/ipv6_enabled.rb index c4c9709..84ed9c1 100644 --- a/test/ipv6_enabled.rb +++ b/test/ipv6_enabled.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/test/rack_unicorn.rb b/test/rack_unicorn.rb index 0ecbd42..05a7751 100644 --- a/test/rack_unicorn.rb +++ b/test/rack_unicorn.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_aggregate_pmq.rb b/test/test_aggregate_pmq.rb index 692b9bd..24e0277 100644 --- a/test/test_aggregate_pmq.rb +++ b/test/test_aggregate_pmq.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/test/test_inet_diag_socket.rb b/test/test_inet_diag_socket.rb index a8c9973..e310dff 100644 --- a/test/test_inet_diag_socket.rb +++ b/test/test_inet_diag_socket.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_last_data_recv.rb b/test/test_last_data_recv.rb index 9643dc6..edd00f3 100644 --- a/test/test_last_data_recv.rb +++ b/test/test_last_data_recv.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/test/test_last_data_recv_unicorn.rb b/test/test_last_data_recv_unicorn.rb index 60d1be9..55f5e7f 100644 --- a/test/test_last_data_recv_unicorn.rb +++ b/test/test_last_data_recv_unicorn.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_linux.rb b/test/test_linux.rb index 7808469..5451c3f 100644 --- a/test/test_linux.rb +++ b/test/test_linux.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_linux_all_tcp_listen_stats.rb b/test/test_linux_all_tcp_listen_stats.rb index ef1f943..12a35ba 100644 --- a/test/test_linux_all_tcp_listen_stats.rb +++ b/test/test_linux_all_tcp_listen_stats.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_linux_all_tcp_listen_stats_leak.rb b/test/test_linux_all_tcp_listen_stats_leak.rb index 7be46d4..a3da07e 100644 --- a/test/test_linux_all_tcp_listen_stats_leak.rb +++ b/test/test_linux_all_tcp_listen_stats_leak.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_linux_ipv6.rb b/test/test_linux_ipv6.rb index 9e8730a..9ef8f0a 100644 --- a/test/test_linux_ipv6.rb +++ b/test/test_linux_ipv6.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_linux_middleware.rb b/test/test_linux_middleware.rb index f573225..7ed20df 100644 --- a/test/test_linux_middleware.rb +++ b/test/test_linux_middleware.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_linux_reuseport_tcp_listen_stats.rb b/test/test_linux_reuseport_tcp_listen_stats.rb index 4fda218..82083e0 100644 --- a/test/test_linux_reuseport_tcp_listen_stats.rb +++ b/test/test_linux_reuseport_tcp_listen_stats.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_middleware.rb b/test/test_middleware.rb index 56ce346..5694cd4 100644 --- a/test/test_middleware.rb +++ b/test/test_middleware.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_middleware_unicorn.rb b/test/test_middleware_unicorn.rb index 6730d4b..53226a9 100644 --- a/test/test_middleware_unicorn.rb +++ b/test/test_middleware_unicorn.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_middleware_unicorn_ipv6.rb b/test/test_middleware_unicorn_ipv6.rb index 3d6862c..99ecb7f 100644 --- a/test/test_middleware_unicorn_ipv6.rb +++ b/test/test_middleware_unicorn_ipv6.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_raindrops.rb b/test/test_raindrops.rb index 6351c66..165766e 100644 --- a/test/test_raindrops.rb +++ b/test/test_raindrops.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_raindrops_gc.rb b/test/test_raindrops_gc.rb index 2098129..a9f2026 100644 --- a/test/test_raindrops_gc.rb +++ b/test/test_raindrops_gc.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_struct.rb b/test/test_struct.rb index 9792d5b..abf0c59 100644 --- a/test/test_struct.rb +++ b/test/test_struct.rb @@ -0,0 +1 @@ +# frozen_string_literal: false diff --git a/test/test_tcp_info.rb b/test/test_tcp_info.rb index 2ddacfd..2dc5c50 100644 --- a/test/test_tcp_info.rb +++ b/test/test_tcp_info.rb @@ -1,0 +2 @@ +# frozen_string_literal: false diff --git a/test/test_watcher.rb b/test/test_watcher.rb index e5d1fa2..3cf667c 100644 --- a/test/test_watcher.rb +++ b/test/test_watcher.rb @@ -1,0 +2 @@ +# frozen_string_literal: false