On 11/04/2014 09:46 AM, Henrik Lindberg wrote: > It is a bit difficult since operators are overloaded on type. The good > part is that if we stop transforming strings to numbers there will be > errors for arithmetic expressions. > > The bad part is that ==, != cannot raise errors (since a string is > simply not equal to a number). Currently comparisons order all numbers > to be smaller than all strings. We could change those to instead error > if the types are not comparable to each other.
I think raising an exception when the types of operands to a comparison operator are different is the least surprising behavior absent automatic type conversion. It would also provide at lot more confidence that a manifest is 4x safe if it passes `puppet parser validate`. Without that you'd have to worry about conditional expressions silently changing their result between 3x and 4x. -Josh -- -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/54590CCE.1030305%40cpan.org. For more options, visit https://groups.google.com/d/optout.
