主要观点:
- 关联了多个 Bug 和 Feature,包括Feature #15998、Feature #8468、Bug #9588等,这些关联已添加。
- 提议移除
$SAFE
和污点跟踪,提出了不同 Ruby 版本的移除时间表:2.7 移除污点跟踪/机制,设置/访问$SAFE
有非详细警告,taint
/trust
/untaint
/untrust
变为无操作并在调用时有详细警告;3.0 设置/访问$SAFE
无警告,它变为普通全局变量,taint
/trust
/untaint
/untrust
在调用时有非详细警告;3.2taint
/trust
/untaint
/untrust
在调用时有非详细警告;3.3 移除taint
/trust
/untaint
/untrust
。 - 延迟移除
taint
/trust
/untaint
/untrust
方法的原因是大多数 gem 要支持所有当前支持的 Ruby 版本,过早移除可能使这更困难。 - 对于
tainted?
和trusted?
,建议在 2.7 有非详细警告并在 3.0 移除,同时继续支持污点跟踪的某些状态。 - 已添加相关拉取请求,处理
$SAFE
相关的警告和操作,如移除对$SAFE
的使用等,部分已合并,部分仍在处理中,存在测试失败等情况,需与上游协商处理。
关键信息:
- 不同 Ruby 版本关于
$SAFE
和污点相关操作的移除计划和状态。 - 涉及的多个 Bug 和 Feature 及其关联情况。
- 对
tainted?
和trusted?
的处理建议。 - 相关拉取请求的处理过程和状态。
重要细节:
- 如在不同 Ruby 版本中
$SAFE
相关操作的具体变化,如 2.7 中设置/访问$SAFE
的警告等。 - 各个库在处理
$SAFE
相关变化时的情况,如 rake 已合并等。 - 测试失败的情况及相关处理,如对 test/ruby/test_require.rb 测试的处理等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。