From: KOSAKI Motohiro Date: 2013-03-24T04:30:25+09:00 Subject: [ruby-core:53680] Re: [ruby-core:53679] Why doesn’t String#+ return an untrusted result if self or other is untrusted? On Sat, Mar 23, 2013 at 2:45 PM, Nikolai Weibull wrote: > Hi! > > Why doesn�t String#+ return an untrusted result if self or other is untrusted? > > Only taint is inherited. > > Also, I can�t really find any documentation on the difference between > taint and untrust. IIUC, untrusted mean an object was created from untrusted code (i.e. $SAFE >=3). taint mean the data is derived from other tainted data or IO source. That said, when trusted code (i.e. $SAFE=0) call String#+, ruby assume caller understand what String#+ does.