http://www.perlmonks.org?node_id=982815


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