Israel Valverde
Israel Valverde
#### Input [→ View on sorbet.run](https://sorbet.run/#%23%20typed%3A%20true%0Aextend%20T%3A%3ASig%0A%0Amy_boolean%20%3D%20rand%2810%29.even%3F%0A%0Aboolean_tap_result%20%3D%20my_boolean.tap%20%7B%20puts%20%22Do%20nothing%22%20%7D%0AT.reveal_type%28boolean_tap_result%29%20%23%20%3C%3D%3D%20TrueClass!%3F%0A%0A%0AMyUnionType%20%3D%20T.type_alias%20%7B%20T.any%28String%2C%20Integer%29%20%7D%0A%0Aunion_type_instance%20%3D%0A%20%20if%20rand%2810%29.even%3F%0A%20%20%20%20%22Hey%20there!%22%0A%20%20else%0A%20%20%20%201%0A%20%20end%0A%0Aunion_type_tap_result%20%3D%20union_type_instance.tap%20%7B%20puts%20%22Do%20nothing%22%20%7D%0AT.reveal_type%28union_type_tap_result%29%20%23%20%3C%3D%3D%20Integer!%3F) ```ruby # typed: true extend T::Sig my_boolean = rand(10).even? boolean_tap_result = my_boolean.tap { puts "Do nothing" } T.reveal_type(boolean_tap_result) # #### Expected behavior The `T.self_type`...
Sorbet forces a proc variable to have the same amount of arguments as of the expected proc argument with a signature. [The documentation](https://sorbet.org/docs/procs) states that: > At present, all parameters...
#### Input [→ View on sorbet.run](https://sorbet.run/#%23%20typed%3A%20strict%0Aextend%20T%3A%3ASig%0A%0Asig%20%7B%20returns%28T.any%28Integer%2C%20String%29%29%20%7D%0Adef%20do_some_stuff%0A%20%20result%20%3D%20T.let%28nil%2C%20T.nilable%28T.any%28Integer%2C%20String%29%29%29%0A%0A%20%20value%20%3D%20rand%2810%29%0A%20%20if%20value.even%3F%0A%20%20%20%20return%20result%20%3D%20value%0A%20%20end%0A%0A%20%20result%20%3D%20%22Invalid%20value%20generated%22%0Aensure%0A%0A%20%20case%20result%0A%20%20when%20nil%0A%20%20%20%20puts%20%22Nil%20returned%22%0A%20%20when%20Integer%0A%20%20%20%20puts%20%22Integer%20returned%22%0A%20%20when%20String%0A%20%20%20%20puts%20%22String%20returned%22%0A%20%20else%0A%20%20%20%20T.absurd%28result%29%0A%20%20end%0Aend) ```ruby # typed: strict extend T::Sig sig { returns(T.any(Integer, String)) } def do_some_stuff result = T.let(nil, T.nilable(T.any(Integer, String))) value = rand(10) if value.even? return...
I'm unable to find a definition for the `sole` method [from ActiveSupport](https://api.rubyonrails.org/classes/Enumerable.html#method-i-sole).
### Steps to reproduce [Full reproduction script gist](https://gist.github.com/ipvalverde/2d2f6b91d593e09b89a86a7c61a3ca5b). Important bit: ```ruby Account.transaction do Account.create!(name: "Account in top-level transaction", balance: 50) begin puts "1) Is transaction open? #{Account.connection.transaction_open?}" # consider the...