Fetching a Property from an unknown name should result in an error
Summary: Currently, you just silently get None if you fetch a Property off of an unknown name in QL. But it's most or less always a mistake (most often because the name is a typo), so it should be an error.
That is, we're trying to guard against cases like this:
My Ting -> My Property
In this case, My Ting
is a typo for My Thing
, and it is Really Annoying that this doesn't result in an error.
We are, however, intentionally continuing to allow you to dereference a Tag Type value silently, so that you can have a mix of defined and undefined Tag values in a Property. Yes, that's a similar situation, but I think it's a bit less suspicious. We might review this decision later. (The critical code is in Invocation.bundlesAndContextsForProp.withCurrentContext()
.)