Mercury Bugs - mercury
View Issue Details
0000190mercuryBugpublic2011-03-17 12:402011-03-18 15:09
Reportercolanderman 
Assigned Tojuliensf 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000190: solver type constraint_store declaration has trouble unifying imported types
DescriptionIf a solver type constraint_store declares a mutable of an imported type (say list), it fails trying to unify the unqualified type name with the qualified version (e.g. list(int) with list.list(int)).
Additional InformationA workaround is to prefix the type name in the mutable declaration.

The bug does not occur in normal mutable declarations.
TagsNo tags attached.
Attached Files? mutable_bug.m (222) 2011-03-17 12:40
https://bugs.mercurylang.org/file_download.php?file_id=115&type=bug

Notes
(0000317)
juliensf   
2011-03-17 14:25   
The problem here is that module qualification skips the constraint_store attribute.
(0000318)
colanderman   
2011-03-17 14:57   
More info: this seems also to occur with locally defined types and equivalence types (equivalences aren't checked).
(0000319)
juliensf   
2011-03-17 16:39   
I've committed the a fix for the first problem. The second problem is due to equivalence
types in the constraint_store attribute not being expanded; I'm presently testing
a fix for that.
(0000320)
juliensf   
2011-03-18 15:09   
A fix for the problem with equivalence type expansion in constriant_store atttributes
has been committed as well.

Issue History
2011-03-17 12:40colandermanNew Issue
2011-03-17 12:40colandermanFile Added: mutable_bug.m
2011-03-17 14:24juliensfStatusnew => assigned
2011-03-17 14:24juliensfAssigned To => juliensf
2011-03-17 14:25juliensfNote Added: 0000317
2011-03-17 14:57colandermanNote Added: 0000318
2011-03-17 16:39juliensfNote Added: 0000319
2011-03-18 15:09juliensfNote Added: 0000320
2011-03-18 15:09juliensfStatusassigned => resolved
2011-03-18 15:09juliensfResolutionopen => fixed