MantisBT - Core Inform
View Issue Details
0000043Core InformRelationspublic2010-06-16 07:142010-07-01 23:07
(mild) Compiler accepts invalid code
0000043: Confusion between one-to-various and various-to-various relations
Although a various-to-one relation is intended in the example
source, I7 creates a various-to-various relation, and thus the
problem of double ownership is not being caught. Trying to use
the 'owner' property can cause internal errors in some
Home is a room.

Pet ownership relates various animals to a person (called the
owner). The verb to be owned by implies the pet ownership

The zebra is owned by Bill.
The zebra is owned by Bob.
The problem is that the declaration of pet ownership uses the
wording 'a person' rather than 'one person'. Previous versions did
not have a problem with this.
No tags attached.
Issue History
2010-06-16 07:14fundinNew Issue
2010-06-16 08:03jmcgrewStatusnew => acknowledged
2010-06-18 01:48jmcgrewStatusacknowledged => confirmed
2010-06-20 04:58grahamNote Added: 0000072
2010-06-20 04:58grahamStatusconfirmed => resolved
2010-06-20 04:58grahamResolutionopen => fixed
2010-06-20 04:58grahamAssigned To => graham
2010-06-30 18:07jmcgrewFixed in Version => 6E72
2010-07-01 23:07jmcgrewStatusresolved => closed

2010-06-20 04:58   
Inform now assumes "one" if this is unspecified and either there is a called-name supplied (which implies uniqueness) or the other term is explicitly "various" (since then the absence of "various" is pointed). Both of those apply here, so the test case here now creates a V-to-1 relation and then throws a contradiction problem message, as expected.