Fergus Henderson
36bb97d223
Fix a bug where the compiler was silently accepting invalid code.
...
Estimated hours taken: 6
Branches: main, release
Fix a bug where the compiler was silently accepting invalid code.
doc/reference_manual.texi:
Document that type class methods must have their modes and
determinism explicitly declared.
compiler/make_hlds.m:
Report errors for predicate type class methods with no modes
or with modes but no determinism.
compiler/check_typeclass.m:
compiler/polymorphism.m:
Handle the case where a method has no declared determinism:
since make_hlds.m will have already reported the error,
we just need to avoid aborting or issuing spurious flow-on errors.
tests/invalid/Mmakefile:
tests/invalid/typeclass_missing_mode.m:
tests/invalid/typeclass_missing_mode.err_exp:
tests/invalid/typeclass_missing_mode_2.m:
tests/invalid/typeclass_missing_mode_2.err_exp:
tests/invalid/typeclass_missing_det.m:
tests/invalid/typeclass_missing_det.err_exp:
tests/invalid/typeclass_missing_det_2.m:
tests/invalid/typeclass_missing_det_2.err_exp:
tests/invalid/typeclass_missing_det_3.m:
tests/invalid/typeclass_missing_det_3.err_exp:
Add some regression tests.
tests/invalid/tc_err1.err_exp:
Update the expected output for this existing test.
2001-04-29 07:54:37 +00:00
..
2001-04-24 03:59:13 +00:00
2001-01-24 04:13:35 +00:00
2000-11-22 00:07:50 +00:00
2001-04-07 14:05:03 +00:00
2000-11-23 04:32:51 +00:00
2001-04-07 14:05:03 +00:00
2001-04-24 03:59:13 +00:00
2001-03-13 12:40:19 +00:00
2001-04-07 14:05:03 +00:00
2001-03-13 12:40:19 +00:00
2001-03-13 12:40:19 +00:00
2001-04-20 04:57:35 +00:00
2001-04-29 07:54:37 +00:00
2001-01-17 01:42:12 +00:00
2001-04-03 03:20:33 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2000-11-23 04:32:51 +00:00
2001-04-07 14:05:03 +00:00
2000-11-23 04:32:51 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-09 07:29:59 +00:00
2001-04-24 03:39:43 +00:00
2001-01-20 15:42:48 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2000-12-13 00:00:55 +00:00
2000-11-23 04:32:51 +00:00
2001-04-07 14:05:03 +00:00
2001-04-24 03:59:13 +00:00
2000-11-25 10:42:07 +00:00
2001-04-07 14:05:03 +00:00
2001-02-05 08:01:40 +00:00
2001-04-24 03:59:13 +00:00
2001-02-20 14:08:39 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-03 03:20:33 +00:00
2001-04-24 03:59:13 +00:00
2001-02-26 01:34:09 +00:00
2001-02-08 11:37:53 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-14 04:51:48 +00:00
2001-04-07 14:05:03 +00:00
2001-03-01 12:52:48 +00:00
2001-04-07 14:05:03 +00:00
2001-04-29 03:38:33 +00:00
2001-04-07 14:05:03 +00:00
2001-03-27 05:23:23 +00:00
2001-03-16 04:17:46 +00:00
2001-04-23 12:24:33 +00:00
2001-04-11 10:17:23 +00:00
2001-04-07 14:05:03 +00:00
2001-03-30 06:04:27 +00:00
2001-04-18 07:29:31 +00:00
2000-11-23 04:32:51 +00:00
2001-03-13 16:14:15 +00:00
2001-04-07 14:05:03 +00:00
2001-02-06 10:10:20 +00:00
2001-01-18 01:19:17 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-24 03:59:13 +00:00
2001-04-07 14:05:03 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-01-20 15:42:48 +00:00
2000-11-18 08:50:43 +00:00
2001-04-07 14:05:03 +00:00
2001-04-29 07:54:37 +00:00
2001-03-18 23:10:17 +00:00
2001-04-07 14:05:03 +00:00
2001-01-17 06:01:51 +00:00
2001-04-24 03:39:43 +00:00
2001-04-03 03:20:33 +00:00
2001-04-24 03:59:13 +00:00
2001-02-20 07:52:19 +00:00
2001-04-18 15:15:25 +00:00
2001-02-20 07:52:19 +00:00
2000-11-23 04:32:51 +00:00
2001-02-26 06:19:34 +00:00
2001-02-20 07:52:19 +00:00
2001-01-20 15:42:48 +00:00
2001-02-20 07:52:19 +00:00
2001-01-10 11:15:32 +00:00
2000-11-23 04:32:51 +00:00
2001-02-20 07:52:19 +00:00
2001-02-20 07:52:19 +00:00
2001-03-13 12:40:19 +00:00
2001-02-20 07:52:19 +00:00
2001-04-11 10:10:14 +00:00
2001-03-16 07:51:59 +00:00
2001-04-24 13:05:06 +00:00
2001-04-24 13:05:06 +00:00
2001-03-01 15:52:35 +00:00
2001-02-28 15:59:18 +00:00
2001-01-29 06:47:32 +00:00
2000-11-15 00:47:59 +00:00
2001-02-28 12:46:28 +00:00
2001-02-08 11:37:53 +00:00
2001-04-07 14:05:03 +00:00
2001-01-17 01:42:12 +00:00
2001-01-17 01:42:12 +00:00
2001-04-07 14:05:03 +00:00
2001-04-03 03:20:33 +00:00
2001-04-08 08:59:32 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-04-27 03:41:15 +00:00
2000-11-23 04:32:51 +00:00
2001-03-08 06:54:31 +00:00
2001-04-07 14:05:03 +00:00
2000-11-19 12:43:31 +00:00
2001-04-29 07:54:37 +00:00
2001-03-27 05:23:23 +00:00
2001-04-24 03:59:13 +00:00
2001-04-03 03:20:33 +00:00
2001-04-03 03:20:33 +00:00
2001-04-07 14:05:03 +00:00
2000-12-21 06:10:23 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-01-04 05:23:48 +00:00
2001-03-18 23:10:17 +00:00
2001-02-20 07:52:19 +00:00
2000-12-18 07:43:05 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-01-29 06:47:32 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2000-11-23 04:32:51 +00:00
2001-04-07 14:05:03 +00:00
2000-11-23 04:32:51 +00:00
2000-11-21 13:37:45 +00:00
2001-04-03 03:20:33 +00:00
2000-11-23 04:32:51 +00:00
2001-04-07 14:05:03 +00:00
2001-03-05 10:31:05 +00:00
2001-01-18 01:19:17 +00:00
2001-04-24 03:59:13 +00:00
2001-02-08 11:37:53 +00:00
2001-03-18 23:10:17 +00:00
2001-03-18 23:10:17 +00:00
2001-04-07 14:05:03 +00:00
2001-01-18 01:19:17 +00:00
2001-03-18 23:10:17 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-07 14:05:03 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-03-06 05:51:25 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 03:59:13 +00:00
2001-04-23 04:50:14 +00:00
2001-02-08 11:37:53 +00:00
2001-01-20 15:42:48 +00:00
2001-04-24 03:59:13 +00:00
2001-04-24 06:10:17 +00:00