Slava Pestov
ca7254c53d
IRGen: Preliminary support for resilient enums
...
Resilient enums are manipulated as opaque values.
Clients are still allowed to assume physical case indices and case
payload types for now -- we might add a level of indirection here,
which would require designing a new case dispatch mechanism.
Resilient enums are never constructed directly, only by calling
case constructor functions. Case constructors already get emitted,
however they're [transparent] -- this will change in a subsequent
patch.
We could save on code size by emitting an InjectEnumTag value
witness function that can construct any case given a physical case
number, rather than emitting constructors for each case, but for
now going through case constructor functions will suffice.
2015-11-30 13:32:55 -08:00
..
2015-11-11 16:07:41 -08:00
2015-04-07 21:59:39 +00:00
2015-05-26 17:38:22 +00:00
2015-04-07 21:59:39 +00:00
2015-10-13 00:27:57 +00:00
2015-10-21 21:45:18 +00:00
2015-04-27 00:35:04 +00:00
2015-08-20 21:19:27 +00:00
2015-06-12 18:27:26 +00:00
2015-05-26 17:38:22 +00:00
2015-05-24 16:20:21 +00:00
2015-05-24 16:20:21 +00:00
2015-11-16 16:34:56 -08:00
2015-11-13 13:20:50 -08:00
2015-11-15 21:14:52 -08:00
2015-10-15 05:43:33 +00:00
2015-09-12 05:10:53 +00:00
2015-05-31 00:01:29 +00:00
2015-09-08 22:12:12 +00:00
2015-11-16 11:11:07 -08:00
2015-10-28 00:44:25 +00:00
2015-11-11 16:07:41 -08:00
2015-07-02 21:21:02 +00:00
2015-11-16 11:11:08 -08:00
2015-11-30 13:32:55 -08:00
2015-11-30 13:32:55 -08:00
2015-11-16 16:34:56 -08:00
2015-11-15 21:14:52 -08:00
2015-11-16 16:34:56 -08:00
2015-06-16 17:23:52 +00:00
2015-11-11 16:07:41 -08:00
2015-10-14 22:50:09 +00:00
2015-06-27 17:50:13 +00:00
2015-11-30 13:32:55 -08:00
2015-11-16 10:37:14 -08:00
2015-11-16 11:11:08 -08:00
2015-06-03 04:59:54 +00:00
2015-11-30 13:32:55 -08:00
2015-11-30 13:32:55 -08:00
2015-08-14 03:29:35 +00:00
2015-11-30 13:32:55 -08:00
2015-10-07 18:41:12 +00:00
2015-11-13 17:56:17 -08:00
2015-11-17 17:59:20 -08:00
2015-11-16 16:34:56 -08:00
2015-11-16 16:34:56 -08:00
2015-11-13 13:20:50 -08:00
2015-11-05 01:33:15 -08:00
2015-06-27 17:50:13 +00:00
2015-11-11 16:07:41 -08:00
2015-11-16 09:51:54 -08:00
2015-11-15 15:20:39 -08:00
2015-11-19 09:31:26 -08:00
2015-11-19 09:31:26 -08:00
2015-11-19 09:31:26 -08:00
2015-11-19 09:31:26 -08:00
2015-11-16 13:05:19 -08:00
2015-11-15 15:20:39 -08:00
2015-11-30 13:32:55 -08:00
2015-11-17 14:13:48 -08:00
2015-10-12 17:22:40 +00:00
2015-11-16 16:34:56 -08:00
2015-04-30 18:41:06 +00:00
2015-10-06 01:14:32 +00:00
2015-11-16 16:34:56 -08:00
2015-10-09 05:49:18 +00:00
2015-11-16 16:34:56 -08:00
2015-11-13 13:20:50 -08:00
2015-11-16 11:11:08 -08:00
2015-11-16 16:34:56 -08:00
2015-11-16 16:34:56 -08:00
2015-11-16 16:34:56 -08:00
2015-08-20 21:25:25 +00:00
2015-08-20 21:25:25 +00:00
2015-11-16 16:34:56 -08:00
2015-11-13 17:56:17 -08:00
2015-11-16 16:34:56 -08:00
2015-09-25 22:05:14 +00:00
2015-11-16 16:34:56 -08:00
2015-11-30 13:32:55 -08:00
2015-11-16 16:34:56 -08:00