当我使用以下代码访问对象的单例类
(class << object; self; end)
srb
命令引发错误:
class << EXPRESSION is only supported for class << self https://srb.help/3001
由于特殊情况(代理/模拟对象),我不能调用对象上的任何方法。当被问及singleton_class
,instance eval
,instance_exec
或binding
时,对象尤其不感兴趣,所以我需要使用这个表达。
如何抑制此错误?在T.unsafe
中包装表达式没有帮助。
看起来您最好的选择是将这个测试隔离在它自己的文件中(我假设这是由于代理/模拟引用),并将该文件标记为typed: ignore
。由于该错误是处理阶段错误(具体来说,3xxx错误来自重写代码以获得更简单表示的脱糖阶段),因此T.unsafe
或其他方法无法抑制该错误。