From 442964a26ed3b547b4fa2b193e9b9c02be6725f3 Mon Sep 17 00:00:00 2001 From: tompng Date: Mon, 9 Sep 2024 00:04:30 +0900 Subject: [PATCH] Require rbs outside of thread to avoid deadlock Using irb's debug command, debug will stop all threads. When thread running require is stopped, all require will be blocked forever. --- lib/repl_type_completor/types.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/repl_type_completor/types.rb b/lib/repl_type_completor/types.rb index 9984c24..aed36d9 100644 --- a/lib/repl_type_completor/types.rb +++ b/lib/repl_type_completor/types.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require 'rbs' +require 'rbs/cli' require_relative 'methods' module ReplTypeCompletor @@ -22,8 +24,6 @@ def self.preload_rbs_builder def self.load_rbs_builder @load_started = true - require 'rbs' - require 'rbs/cli' loader = RBS::CLI::LibraryOptions.new.loader loader.add path: Pathname('sig') @rbs_builder = RBS::DefinitionBuilder.new env: RBS::Environment.from_loader(loader).resolve_type_names