Project

General

Profile

Feature #17743

Updated by p8 (Petrik de Heus) over 3 years ago

Given the following Ruby program: 
 ``` ruby 
 def say_hi(person) 
   puts message(person) 
 end 

 def message(person) 
   "hi: #{person.name}" 
 end 

 say_hi(nil) 
 ``` 

 It would be helpful if the backtrace contained the types of the argumets: 
 ``` 
 hi.rb:6:in `message': undefined method `name' for nil:NilClass (NoMethodError) Traceback (most recent call last): 
	 2: from hi.rb:2:in `say_hi' hi.rb:9:in `<main>' called with NilClass 
	 1: from hi.rb:9:in `<main>' hi.rb:2:in `say_hi' called with NilClass 
 hi.rb:6:in `message': undefined method `name' for nil:NilClass (NoMethodError) 
 ``` 

 Inspired by the following Twitter thread: https://twitter.com/lzsthw/status/1374350046909628423 

Back