Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
2.1
-
None
-
None
Description
When runtime.strict_mode.enable is true, $!foo will not throw if $foo is in the context with a null value, but will throw if $foo is not in the context.
I know it's a design choice, but it makes the strict mode totally impraticable. I think silence references should never throw, ever, even in strict mode, otherwise they just break their contract.
Plus, distinguishing between those two cases (absent from the context, or present with null) seems pretty weird and inconsistant to me. I understand the initial motivation of validating the context, but it's just inconsistant. Silent mode should take precedence over strict mode.
Attachments
Issue Links
- duplicates
-
VELOCITY-739 Do not throw exception for quiet references in strict reference checking mode
- Resolved