Damien George
9201f46cc8
py/compile: Fix case of eager implicit conversion of local to nonlocal.
...
This ensures that implicit variables are only converted to implicit
closed-over variables (nonlocals) at the very end of the function scope.
If variables are closed-over when first used (read from, as was done prior
to this commit) then this can be incorrect because the variable may be
assigned to later on in the function which means they are just a plain
local, not closed over.
Fixes issue #4272 .
2018-10-28 00:33:08 +11:00
..
2018-06-27 16:57:42 +10:00
2018-06-27 16:57:42 +10:00
2018-06-27 16:57:42 +10:00
2018-06-27 16:57:42 +10:00
2018-04-05 00:59:49 +10:00
2017-12-12 23:45:48 +02:00
2018-02-19 16:12:44 +11:00
2018-03-08 12:51:06 +11:00
2018-02-14 16:46:44 +11:00
2018-02-14 16:46:44 +11:00
2018-02-14 16:46:44 +11:00
2018-02-07 15:55:52 +11:00
2018-02-07 15:55:52 +11:00
2018-05-10 23:03:30 +10:00
2017-07-07 11:47:38 +10:00
2018-05-21 13:05:40 +10:00
2017-11-27 14:14:57 +11:00
2018-02-07 15:55:52 +11:00
2017-12-19 15:44:10 +11:00
2018-02-07 15:55:52 +11:00
2018-06-08 12:12:08 +10:00
2018-05-25 10:59:40 +10:00
2018-02-14 23:17:06 +11:00
2017-11-24 15:30:12 +11:00
2018-05-22 14:18:16 +10:00
2018-05-22 14:18:16 +10:00
2018-02-07 15:55:52 +11:00
2018-05-30 11:11:24 +10:00
2018-02-07 15:55:52 +11:00
2018-09-11 15:10:10 +10:00
2017-07-31 18:35:40 +10:00
2018-10-22 22:50:28 +11:00
2018-02-19 16:25:30 +11:00
2017-12-12 23:45:48 +02:00
2018-10-18 12:28:09 +11:00
2017-12-14 12:25:30 +11:00
2017-09-04 16:44:38 +03:00
2017-09-01 00:43:52 +03:00
2017-08-30 01:39:24 +03:00
2017-09-10 17:05:57 +03:00
2018-09-28 23:22:34 +10:00
2017-12-14 12:25:30 +11:00
2018-05-30 11:14:07 +10:00
2017-08-09 21:25:48 +10:00
2018-02-07 15:44:29 +11:00
2018-02-21 23:34:17 +11:00
2018-02-21 22:58:14 +11:00
2018-02-21 22:58:14 +11:00
2018-08-17 15:46:04 +10:00
2018-02-18 21:51:04 -06:00
2018-02-18 21:51:04 -06:00
2017-12-19 16:13:00 +11:00
2017-12-19 16:13:00 +11:00
2018-08-17 15:46:04 +10:00
2017-06-22 14:02:14 +10:00
2018-02-14 16:46:44 +11:00
2018-03-30 11:13:32 +11:00
2018-02-14 16:50:20 +11:00
2018-02-14 16:50:20 +11:00
2017-12-12 23:45:48 +02:00
2018-02-27 22:39:17 +11:00
2018-09-20 15:36:59 +10:00
2018-05-22 16:54:03 +10:00
2018-09-28 11:39:35 +10:00
2018-03-30 12:43:38 +11:00
2018-09-28 11:35:31 +10:00
2018-09-20 15:36:59 +10:00
2018-09-20 15:36:59 +10:00
2018-07-10 16:33:57 +10:00
2017-12-19 15:02:34 +11:00
2017-12-19 15:02:34 +11:00
2018-09-20 15:36:59 +10:00
2018-09-20 15:36:59 +10:00
2018-09-27 15:18:24 +10:00
2018-09-28 11:35:31 +10:00
2018-10-18 12:15:16 +11:00
2018-04-05 00:59:49 +10:00
2018-04-05 00:59:49 +10:00
2018-08-17 15:43:47 +10:00
2018-04-04 13:57:22 +10:00
2018-04-04 13:57:22 +10:00
2017-12-19 16:13:00 +11:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-06-27 16:55:05 +10:00
2018-03-30 14:23:13 +11:00
2018-02-14 16:46:44 +11:00
2017-09-07 00:10:10 +03:00
2017-07-31 18:35:40 +10:00
2017-12-20 16:58:27 +11:00
2017-12-20 16:58:27 +11:00
2018-06-27 14:58:14 +10:00
2018-06-27 14:58:14 +10:00
2017-08-30 21:29:23 +03:00
2018-02-14 16:50:20 +11:00
2018-02-14 16:50:20 +11:00
2018-02-14 16:50:20 +11:00
2018-08-04 15:14:23 +10:00
2018-08-17 15:46:04 +10:00
2018-08-17 15:46:04 +10:00
2018-06-12 12:17:43 +10:00
2018-06-12 12:17:43 +10:00
2018-10-28 00:33:08 +11:00
2017-12-19 13:59:54 +11:00
2017-12-19 13:59:54 +11:00
2018-08-17 15:42:51 +10:00
2017-10-03 18:03:06 +11:00
2018-05-11 17:37:16 +10:00
2018-04-05 01:04:38 +10:00
2018-10-22 22:50:28 +11:00
2017-08-29 00:06:21 +03:00
2017-08-29 00:06:21 +03:00
2017-08-29 00:06:21 +03:00
2018-04-05 16:14:17 +10:00
2018-04-05 16:14:17 +10:00
2017-08-29 00:06:21 +03:00
2017-08-29 00:06:21 +03:00
2017-08-29 00:06:21 +03:00
2017-09-19 21:21:12 +03:00
2017-08-15 11:33:43 +10:00
2017-09-01 11:11:09 +10:00
2017-09-01 11:11:09 +10:00
2017-09-01 10:10:51 +10:00
2017-09-01 10:10:51 +10:00
2018-08-17 15:46:04 +10:00
2018-02-24 23:13:42 +11:00
2018-02-24 23:13:42 +11:00
2017-11-24 14:48:41 +11:00
2017-12-12 16:47:38 +11:00
2018-04-04 15:26:18 +10:00
2018-02-14 16:46:44 +11:00
2018-02-21 23:19:06 +11:00
2018-08-17 15:46:04 +10:00
2018-09-11 15:33:25 +10:00
2018-09-03 13:08:16 +10:00
2018-09-04 14:37:07 +10:00
2018-04-04 01:43:16 +10:00
2017-09-06 00:23:41 +03:00
2017-08-09 21:20:42 +10:00
2018-09-04 14:37:30 +10:00