Julien Fischer
e22c4ee9a0
Fix a bug with interface files and typeclasses reported by Peter Ross.
...
Estimated hours taken: 4
Branches: main, release
Fix a bug with interface files and typeclasses reported by Peter Ross.
Typeclass definitions in the implementation section of a module are written
out as abstract declarations in the implementation of the interface files.
The bug was that module imports from the implementation section that were
needed by items referred to from the typeclass constraints were not being
included in the implementation section of the interface file. This caused a
map lookup abort when other modules were compiled against these interface
files.
The fix is to make sure that we consider any typeclass constraints when
computing the set of "necessary" implementation imports, i.e. those that
must appear in the interface files.
compiler/modules.m:
Include module imports required by typeclass constraints in the
set of modules that must appear in the implementation section of
an interface file.
tests/valid/Mmakefile:
tests/valid/tc_map_lookup.m:
tests/valid/tc_map_lookup_2.m:
Testcase for the above.
2006-11-07 01:59:05 +00:00
..
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-22 02:56:44 +00:00
2006-03-22 02:56:44 +00:00
2006-03-22 02:56:44 +00:00
2004-08-25 08:21:34 +00:00
2003-07-25 02:27:37 +00:00
2002-11-07 12:52:59 +00:00
2006-02-17 04:10:26 +00:00
2003-12-01 15:56:15 +00:00
2006-03-29 08:09:58 +00:00
2006-04-04 02:39:23 +00:00
2005-09-12 09:02:30 +00:00
2006-03-29 08:09:58 +00:00
2004-08-25 08:21:34 +00:00
2003-12-01 15:56:15 +00:00
2004-08-25 08:21:34 +00:00
2003-05-26 09:01:46 +00:00
2006-03-29 08:09:58 +00:00
2006-01-31 05:20:45 +00:00
2005-12-21 23:20:00 +00:00
2005-08-16 05:17:08 +00:00
2005-11-22 08:41:36 +00:00
2005-11-22 08:41:36 +00:00
2005-11-22 08:41:36 +00:00
2006-03-29 08:09:58 +00:00
2003-05-13 06:25:56 +00:00
2003-05-13 06:25:56 +00:00
2004-01-06 14:18:45 +00:00
2006-10-09 06:40:29 +00:00
2005-08-03 12:04:46 +00:00
2006-02-10 05:00:05 +00:00
2006-03-29 08:09:58 +00:00
2005-04-12 07:58:24 +00:00
2006-10-29 03:18:59 +00:00
2005-05-13 02:24:20 +00:00
2006-08-04 10:51:22 +00:00
2004-07-14 05:39:14 +00:00
2004-07-14 05:39:14 +00:00
2006-03-29 08:09:58 +00:00
2003-05-17 04:31:54 +00:00
2003-05-26 09:01:46 +00:00
2005-05-02 08:19:08 +00:00
2004-08-25 08:21:34 +00:00
2003-02-22 01:06:10 +00:00
2004-06-22 08:54:50 +00:00
2005-08-12 02:33:10 +00:00
2004-07-14 05:39:14 +00:00
2005-04-12 07:58:24 +00:00
2005-04-12 07:58:24 +00:00
2002-11-07 12:52:59 +00:00
2003-02-22 13:18:34 +00:00
2006-07-10 04:41:00 +00:00
2004-08-25 08:21:34 +00:00
2003-02-17 06:07:15 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2003-02-17 06:07:15 +00:00
2004-08-25 08:21:34 +00:00
2004-08-25 08:21:34 +00:00
2004-08-25 08:21:34 +00:00
2004-08-25 08:21:34 +00:00
2004-08-25 08:21:34 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2004-07-14 05:39:14 +00:00
2004-09-29 04:36:28 +00:00
2002-11-07 12:52:59 +00:00
2005-02-07 07:56:54 +00:00
2006-03-30 23:55:12 +00:00
2006-03-29 11:05:44 +00:00
2006-03-30 23:55:12 +00:00
2006-03-30 23:55:12 +00:00
2006-03-29 11:05:44 +00:00
2006-05-04 08:34:56 +00:00
2004-08-25 08:21:34 +00:00
2006-03-29 08:09:58 +00:00
2006-11-07 01:59:05 +00:00
2005-09-12 09:02:30 +00:00
2004-08-25 08:21:34 +00:00
2004-08-25 08:21:34 +00:00
2003-05-26 09:01:46 +00:00
2005-02-04 03:38:46 +00:00
2005-04-20 12:57:59 +00:00
2006-10-19 07:29:56 +00:00
2005-04-20 12:57:59 +00:00
2005-04-20 12:57:59 +00:00
2003-02-22 13:18:34 +00:00
2006-03-27 06:56:22 +00:00
2005-11-14 05:14:13 +00:00
2006-04-18 05:47:34 +00:00
2006-05-04 08:34:56 +00:00
2006-04-28 04:13:24 +00:00
2006-09-22 05:35:33 +00:00
2006-03-29 08:09:58 +00:00
2006-03-29 08:09:58 +00:00
2002-11-22 08:50:44 +00:00
2003-01-14 16:42:44 +00:00
2004-08-25 08:21:34 +00:00
2006-04-04 02:39:23 +00:00
2006-03-24 04:40:59 +00:00
2005-01-13 07:09:25 +00:00
2004-08-25 08:21:34 +00:00
2006-03-24 04:40:59 +00:00
2006-07-19 17:20:57 +00:00
2003-12-05 04:18:32 +00:00
2006-03-20 22:24:30 +00:00
2002-11-07 12:52:59 +00:00
2005-02-21 00:13:39 +00:00
2003-11-06 11:11:47 +00:00
2005-10-10 02:23:48 +00:00
2005-10-07 04:45:01 +00:00
2006-07-10 04:41:00 +00:00
2006-10-22 09:14:33 +00:00
2005-04-20 12:57:59 +00:00
2006-03-29 08:09:58 +00:00
2006-07-29 12:28:29 +00:00
2002-11-07 12:52:59 +00:00
2006-11-07 01:59:05 +00:00
2006-11-07 01:59:05 +00:00
2005-04-12 07:58:24 +00:00
2005-09-12 09:22:52 +00:00
2004-08-25 08:21:34 +00:00
2005-04-12 07:58:24 +00:00
2005-04-12 23:47:17 +00:00
2006-03-29 08:09:58 +00:00
2005-09-12 09:22:52 +00:00
2003-01-21 03:39:50 +00:00
2006-03-29 08:09:58 +00:00
2003-05-26 09:01:46 +00:00
2005-02-14 04:49:17 +00:00
2002-11-07 12:52:59 +00:00