Why doesn't this description work?

[code]Test is a room.

Hidden Treasury is a room.

Definition: a room is hidden-treasure-stash if it is Hidden Treasury.

A gold coin is in hidden treasury.

When play begins:
showme whether or not hidden treasury is hidden-treasure-stash;
showme whether or not hidden treasury encloses gold coin;
showme whether or not a hidden-treasure-stash room encloses the gold coin;[/code]

When I run this, it says that hidden treasury is a hidden-treasure-stash room, and hidden treasury encloses the gold coin, but it is false that a hidden-treasure-stash room encloses the gold coin. How could that be?

This is a known bug: inform7.com/mantis/view.php?id=376

Descriptions of rooms fail to work in some situations. The compiler is generating code with this description:

[ Exists x : room(x) & thing(x) & ‘hidden-treasure-stash’(x) & encloses(x, ‘gold coin’) ]

The spurious “thing(x)” clause prevents the test from ever succeeding, since nothing is both a room and a thing.

Thanks, I’ll use a workaround.