in reply to Re: Moose::Util::TypeConstraints - Querying subtype() Caveat
in thread Moose::Util::TypeConstraints - Querying subtype() Caveat
Thanks for your reply, Khen1950fx.
I wasn't suggesting not quoting. Rather, I was saying that I thought subtype DateTime => ... should perform the same quoting as subtype 'DateTime', ...: the B::Deparse tests, showing subtype('DateTime', ... for both forms, suggest this is correct.
My subsequent example without quoting (in "Perhaps this is a documentation error. ...") was intended to show what would actually fail silently. With this form, B::Deparse gives 'DateTime'->subtype, ....
In your test code, I note you've doubled up on the commas (i.e. 'XXX', => ...) in two places. With your code as is, I get
1..1 ok 1 - made a DateTime constraint
Removing the quotes around DateTime (i.e. subtype DateTime,\n => ...), I get
1..1 Can't locate object method "subtype" via package "DateTime" at pm_moos +e_quote.pl line 9. # Looks like your test exited with 255 before it could output anything +.
Then removing the comma after DateTime (i.e. subtype DateTime\n => ...), I get
1..1 ok 1 - made a DateTime constraint
The fat comma is now quoting DateTime.
-- Ken