Robert Griesemer
ddb5a42b25
cmd/compile/internal/types2: avoid "declared but not used" errors for invalid code
...
Agressively mark all LHS variables in assignments as used if there
is any error in the (entire) assignment. This reduces the number of
spurious "declared but not used" errors in programs that are invalid
in the first place. This behavior is closer to the behavior of the
compiler's original type checker (types1) and lets us remove lines
of the form "_ = variable" just to satisfy test cases. It also makes
more important errors visible by not crowding them out.
Remove the Checker.useLHS function and use Checker.use instead:
useLHS didn't evaluate top-level variables, but we actually want
them to be evaluated in an error scenario so that they are getting
used (and thus we don't get the "declared but not used" error).
Fixes #42937 .
Change-Id: Idda460f6b81c66735bf9fd597c54188949bf12b8
Reviewed-on: https://go-review.googlesource.com/c/go/+/351730
Trust: Robert Griesemer <gri@golang.org >
Run-TryBot: Robert Griesemer <gri@golang.org >
TryBot-Result: Go Bot <gobot@golang.org >
Reviewed-by: Robert Findley <rfindley@google.com >
2021-09-23 19:41:45 +00:00
..
2021-05-19 06:26:35 +00:00
2021-05-19 06:26:35 +00:00
2021-05-19 06:26:35 +00:00
2020-02-22 04:31:41 +00:00
2020-12-07 17:29:52 +00:00
2021-02-25 15:24:25 +00:00
2020-12-10 18:34:40 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-15 20:45:24 +00:00
2021-04-21 20:24:34 +00:00
2020-03-25 14:19:25 +00:00
2021-07-26 18:43:12 +00:00
2020-12-28 07:44:07 +00:00
2019-07-10 18:26:53 +00:00
2019-07-18 11:34:23 +00:00
2019-08-29 15:21:31 +00:00
2019-07-18 17:24:59 +00:00
2019-07-23 12:39:03 +00:00
2019-08-28 18:35:32 +00:00
2019-09-06 12:11:17 +00:00
2019-09-25 18:10:57 +00:00
2019-10-14 16:13:27 +00:00
2019-11-18 21:19:53 +00:00
2020-10-13 22:50:26 +00:00
2019-12-11 19:48:39 +00:00
2020-03-02 18:46:06 +00:00
2020-11-06 20:49:11 +00:00
2020-08-15 00:23:28 +00:00
2021-05-26 23:50:32 +00:00
2020-11-09 16:09:16 +00:00
2020-12-15 07:53:10 +00:00
2021-01-04 10:30:08 +00:00
2021-01-07 19:31:03 +00:00
2021-01-12 03:15:18 +00:00
2021-02-09 14:00:14 +00:00
2021-02-19 19:28:53 +00:00
2021-03-01 20:59:43 +00:00
2021-02-23 01:53:51 +00:00
2021-02-25 19:57:49 +00:00
2021-02-26 02:11:50 +00:00
2021-03-08 19:43:19 +00:00
2021-04-14 04:02:01 +00:00
2021-06-09 02:18:34 +00:00
2021-08-23 19:49:23 +00:00
2021-07-07 22:29:01 +00:00
2021-08-13 20:47:06 +00:00
2021-07-19 13:27:46 +00:00
2021-07-15 17:35:20 +00:00
2021-07-22 20:47:59 +00:00
2021-09-01 02:16:30 +00:00
2020-12-03 17:55:56 +00:00
2021-03-04 06:35:44 +00:00
2021-09-23 19:41:45 +00:00
2020-12-03 17:55:56 +00:00
2020-12-03 17:55:56 +00:00
2020-12-03 17:55:56 +00:00
2021-09-23 19:41:45 +00:00
2020-12-03 17:55:56 +00:00
2020-12-14 21:28:48 +00:00
2020-03-05 00:40:38 +00:00
2021-09-23 19:41:45 +00:00
2020-11-28 02:31:54 +00:00
2021-03-04 06:36:33 +00:00
2020-12-14 21:28:48 +00:00
2021-03-23 05:12:39 +00:00
2021-05-26 15:33:02 +00:00
2021-03-23 05:11:09 +00:00
2020-12-03 17:55:56 +00:00
2020-12-03 17:55:56 +00:00
2020-12-03 17:55:56 +00:00
2021-04-15 19:41:38 +00:00
2020-12-14 21:28:48 +00:00
2020-12-15 21:45:05 +00:00
2021-07-28 21:41:07 +00:00
2020-12-03 17:55:56 +00:00
2021-09-23 19:41:45 +00:00
2021-03-05 18:46:48 +00:00
2020-12-18 00:10:44 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-11-28 02:31:54 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2021-03-04 06:36:33 +00:00
2020-12-14 21:28:48 +00:00
2020-12-18 00:10:44 +00:00
2020-12-14 21:28:48 +00:00
2019-10-28 23:34:13 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2021-03-23 05:11:09 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-12-22 17:50:13 +00:00
2020-12-14 21:28:48 +00:00
2020-12-14 21:28:48 +00:00
2020-02-22 04:31:41 +00:00
2020-04-10 18:42:07 +00:00
2020-08-15 01:42:57 +00:00
2020-12-07 17:29:52 +00:00
2021-02-25 15:24:25 +00:00
2021-03-17 19:15:18 +00:00
2021-03-24 21:20:10 +00:00
2021-08-13 20:49:48 +00:00
2020-12-10 18:34:40 +00:00
2021-08-25 03:13:06 +00:00
2020-12-09 23:59:57 +00:00
2020-12-09 23:59:57 +00:00
2021-01-05 21:44:30 +00:00
2020-12-22 17:50:13 +00:00
2020-11-28 02:31:54 +00:00
2020-12-09 23:59:57 +00:00
2020-10-20 18:51:03 +00:00
2020-12-09 23:59:57 +00:00
2020-12-14 12:13:36 -08:00
2020-12-09 23:59:57 +00:00
2020-12-09 23:59:57 +00:00
2020-12-09 23:59:57 +00:00
2021-05-19 06:26:35 +00:00
2020-11-28 02:31:54 +00:00
2021-01-05 21:11:31 +00:00
2021-03-23 05:11:09 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 07:53:10 +00:00
2020-12-09 23:56:19 +00:00
2020-12-09 23:54:59 +00:00
2020-12-22 17:50:13 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2020-12-03 20:30:02 +00:00
2020-12-22 17:50:13 +00:00
2020-12-22 17:50:13 +00:00
2021-03-23 05:11:09 +00:00
2020-12-09 23:54:59 +00:00
2020-12-22 17:50:13 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2021-01-25 18:53:24 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2021-01-18 05:55:08 +00:00
2021-07-28 21:41:07 +00:00
2019-11-04 16:32:38 +00:00
2020-12-22 17:50:13 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2020-12-22 17:50:13 +00:00
2020-12-22 17:50:13 +00:00
2020-12-15 02:35:59 +00:00
2020-06-15 18:03:08 +00:00
2020-08-27 23:25:58 +00:00
2020-12-04 21:22:23 +00:00
2021-07-28 21:41:07 +00:00
2020-12-10 18:34:40 +00:00
2020-12-10 18:34:40 +00:00
2021-09-23 19:41:45 +00:00
2020-12-18 00:10:44 +00:00
2020-12-22 17:50:13 +00:00
2020-12-04 21:22:23 +00:00
2020-12-15 02:35:59 +00:00
2020-12-04 21:22:23 +00:00
2020-12-18 00:10:44 +00:00
2021-08-13 21:43:20 +00:00
2021-05-20 16:41:09 +00:00
2021-08-25 23:43:53 +00:00
2021-03-23 05:11:09 +00:00
2020-12-18 23:47:11 +00:00
2020-12-22 17:50:13 +00:00
2021-01-25 01:31:37 +00:00
2021-03-23 05:11:09 +00:00
2020-12-10 18:34:40 +00:00
2020-12-10 18:34:40 +00:00
2021-05-26 15:33:02 +00:00
2021-02-01 21:38:01 +00:00
2020-12-22 17:50:13 +00:00
2020-12-09 23:56:19 +00:00
2020-12-18 00:10:44 +00:00
2021-01-26 01:50:30 +00:00
2021-05-26 23:50:32 +00:00
2021-05-26 23:50:32 +00:00
2020-12-10 18:34:40 +00:00
2020-12-10 18:34:40 +00:00
2020-12-18 00:10:44 +00:00
2020-12-10 18:34:40 +00:00
2020-12-10 18:34:40 +00:00
2020-12-22 17:50:13 +00:00
2020-12-10 18:34:40 +00:00
2020-12-22 17:50:13 +00:00
2020-12-09 23:59:57 +00:00
2020-12-09 23:56:19 +00:00
2020-12-09 23:56:19 +00:00
2021-03-23 05:11:09 +00:00
2021-01-18 05:55:08 +00:00
2020-12-10 18:34:40 +00:00
2020-12-10 18:34:40 +00:00
2020-12-10 18:34:40 +00:00
2020-12-22 17:50:13 +00:00
2020-12-22 17:50:13 +00:00
2020-12-14 17:26:06 +00:00
2020-12-18 00:10:44 +00:00
2021-09-22 19:19:49 +00:00
2020-12-22 17:50:13 +00:00
2021-06-04 17:00:19 +00:00
2021-01-05 10:13:59 -08:00
2020-08-17 09:45:44 +00:00
2020-03-05 00:40:38 +00:00
2020-12-22 17:50:13 +00:00
2020-03-11 06:06:20 +00:00
2020-12-18 00:10:44 +00:00
2020-12-22 17:50:13 +00:00
2021-02-22 22:53:51 +00:00
2020-12-09 23:56:19 +00:00
2019-09-16 15:30:51 +00:00
2020-12-14 17:26:06 +00:00
2021-03-05 18:45:59 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-09 23:59:57 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2020-12-14 17:26:06 +00:00
2021-09-23 19:41:41 +00:00
2020-12-22 17:50:13 +00:00
2020-12-18 00:10:44 +00:00
2020-12-14 17:26:06 +00:00
2020-12-09 23:59:57 +00:00
2020-12-22 17:50:13 +00:00
2020-12-09 23:59:57 +00:00
2020-12-14 17:37:52 +00:00
2021-04-21 20:24:34 +00:00
2021-04-21 20:24:34 +00:00
2020-12-22 17:50:13 +00:00
2020-12-14 17:37:52 +00:00
2021-03-05 18:46:43 +00:00
2021-03-05 18:46:16 +00:00
2021-08-09 16:10:20 +00:00
2020-12-22 17:50:13 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2020-12-22 17:50:13 +00:00
2021-01-10 08:01:49 +00:00
2021-01-10 08:01:49 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2020-12-18 00:10:44 +00:00
2020-12-18 00:10:44 +00:00
2020-09-12 08:31:49 +00:00
2019-10-04 18:34:18 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2021-07-28 21:41:07 +00:00
2020-12-14 17:37:52 +00:00
2020-12-14 17:37:52 +00:00
2019-09-12 06:46:57 +00:00
2021-03-05 18:47:09 +00:00
2020-12-18 00:10:44 +00:00
2020-12-18 00:10:44 +00:00
2020-12-22 17:50:13 +00:00
2020-12-22 17:50:13 +00:00
2020-12-14 17:37:52 +00:00
2021-03-05 18:46:16 +00:00
2021-01-03 19:48:18 +00:00
2020-12-14 17:37:52 +00:00
2020-12-09 23:59:57 +00:00
2019-10-28 23:34:13 +00:00
2021-04-07 05:19:41 +00:00
2020-12-09 23:59:57 +00:00
2020-12-14 17:37:52 +00:00
2020-12-22 17:50:13 +00:00
2020-12-14 17:37:52 +00:00
2021-03-05 18:46:36 +00:00
2021-02-26 10:18:26 +00:00
2020-09-13 07:54:42 +00:00
2021-05-27 23:40:56 +00:00
2021-05-27 23:40:56 +00:00
2020-12-14 17:37:52 +00:00
2020-12-22 17:50:13 +00:00
2020-12-15 02:35:59 +00:00
2021-08-03 16:14:24 +00:00
2020-12-15 02:35:59 +00:00
2021-09-23 19:41:41 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2021-07-28 21:41:07 +00:00
2021-09-23 19:41:41 +00:00
2019-08-28 02:29:42 +00:00
2019-08-28 19:27:20 +00:00
2021-03-05 18:46:16 +00:00
2020-12-21 11:19:04 -08:00
2020-12-22 17:50:13 +00:00
2020-12-15 02:35:59 +00:00
2020-12-22 17:50:13 +00:00
2021-08-03 16:14:24 +00:00
2020-12-15 02:35:59 +00:00
2020-01-08 18:43:55 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2020-12-22 17:50:13 +00:00
2020-12-28 00:39:17 -08:00
2020-12-15 02:35:59 +00:00
2021-07-26 18:43:12 +00:00
2021-05-26 23:50:45 +00:00
2020-05-08 20:44:01 +00:00
2021-06-23 16:48:12 +00:00
2021-02-04 22:21:42 +00:00
2020-03-05 00:40:38 +00:00
2019-08-28 19:45:00 +00:00
2019-08-29 19:35:18 +00:00
2020-12-15 02:35:59 +00:00
2019-07-10 18:26:53 +00:00
2019-07-18 11:34:23 +00:00
2019-08-29 15:21:31 +00:00
2019-07-11 22:30:42 +00:00
2019-07-18 17:24:59 +00:00
2019-07-23 12:39:03 +00:00
2020-12-18 00:10:44 +00:00
2019-08-30 05:41:23 +00:00
2020-12-15 02:35:59 +00:00
2019-08-01 02:15:18 +00:00
2020-12-15 02:35:59 +00:00
2019-08-02 19:35:37 +00:00
2020-12-15 02:35:59 +00:00
2020-12-18 00:10:44 +00:00
2019-10-15 16:43:44 +00:00
2019-08-28 18:35:32 +00:00
2019-09-06 12:11:17 +00:00
2019-08-29 17:41:49 +00:00
2019-11-08 21:05:17 +00:00
2019-09-16 19:43:54 +00:00
2019-10-07 18:09:29 +00:00
2019-09-25 18:10:57 +00:00
2019-10-04 15:04:57 +00:00
2019-10-09 17:26:20 +00:00
2019-10-07 17:19:13 +00:00
2019-10-17 21:10:22 +00:00
2019-10-17 22:27:31 +00:00
2019-10-21 20:51:06 +00:00
2020-04-01 06:12:05 +00:00
2019-10-26 08:29:23 +00:00
2020-12-22 17:50:13 +00:00
2019-11-12 21:02:24 +00:00
2020-02-22 03:34:22 +00:00
2020-02-22 03:34:22 +00:00
2019-11-18 21:19:53 +00:00
2019-11-22 03:06:22 +00:00
2020-10-13 22:50:26 +00:00
2019-12-11 19:48:39 +00:00
2020-02-24 20:23:14 +00:00
2020-12-18 00:10:44 +00:00
2020-01-19 20:36:10 +00:00
2021-03-25 02:50:11 +00:00
2020-01-27 16:13:58 +00:00
2020-05-14 15:18:29 +00:00
2020-03-02 18:46:06 +00:00
2020-03-10 16:26:59 +00:00
2020-03-09 20:19:25 +00:00
2020-11-06 20:49:11 +00:00
2020-03-31 21:51:51 +00:00
2020-05-31 18:35:04 +00:00
2020-12-09 23:59:57 +00:00
2020-08-28 23:43:22 +00:00
2020-04-14 19:01:47 +00:00
2020-04-10 19:32:41 +00:00
2020-04-17 04:26:54 +00:00
2020-05-06 04:34:54 +00:00
2021-02-22 20:00:00 +00:00
2020-12-22 17:50:13 +00:00
2020-05-05 15:41:37 +00:00
2020-08-15 03:09:21 +00:00
2020-05-14 08:07:52 +00:00
2020-09-12 08:31:49 +00:00
2020-06-25 15:59:48 +00:00
2020-06-10 14:55:29 +00:00
2020-08-28 16:40:32 +00:00
2020-08-28 16:40:32 +00:00
2020-06-19 02:11:35 +00:00
2020-06-18 16:36:16 +00:00
2020-08-15 01:43:18 +00:00
2020-08-15 00:23:28 +00:00
2020-07-30 17:23:11 +00:00
2020-08-14 21:49:36 +00:00
2020-08-13 22:59:31 +00:00
2020-08-20 17:48:29 +00:00
2020-09-16 17:26:46 +00:00
2020-09-25 03:59:54 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2021-06-17 02:30:22 +00:00
2020-12-15 02:35:59 +00:00
2020-10-03 13:02:20 +00:00
2020-09-28 20:54:13 +00:00
2020-10-06 15:37:42 +00:00
2020-10-06 01:14:39 +00:00
2020-10-08 20:35:54 +00:00
2020-10-27 21:28:53 +00:00
2020-12-15 02:35:59 +00:00
2020-12-15 02:35:59 +00:00
2020-10-19 21:30:43 +00:00
2020-10-27 21:29:13 +00:00
2020-10-30 19:30:44 +00:00
2020-11-09 16:09:16 +00:00
2020-11-14 17:24:37 +00:00
2020-11-16 08:22:10 +00:00
2021-03-18 21:27:21 +00:00
2020-11-18 22:24:21 +00:00
2020-11-20 17:31:50 +00:00
2020-11-21 16:46:05 +00:00
2020-11-24 03:06:15 +00:00
2020-11-24 00:50:11 +00:00
2020-12-01 22:59:34 +00:00
2020-12-03 21:34:39 +00:00
2020-12-10 03:18:00 +00:00
2020-12-11 22:02:02 +00:00
2020-12-14 03:21:35 +00:00
2020-12-15 07:53:10 +00:00
2020-12-15 07:53:10 +00:00
2020-12-20 09:43:29 +00:00
2020-12-30 04:38:20 +00:00
2020-12-31 05:52:09 +00:00
2021-01-01 10:52:33 +00:00
2021-01-01 10:52:33 +00:00
2021-01-04 10:30:08 +00:00
2021-01-04 10:30:07 +00:00
2021-01-07 19:31:03 +00:00
2021-01-08 05:00:06 +00:00
2021-01-14 17:23:11 +00:00
2021-01-12 03:15:18 +00:00
2021-01-14 00:14:28 +00:00
2021-01-15 16:13:04 +00:00
2021-06-17 02:30:22 +00:00
2021-01-25 16:14:35 -08:00
2021-01-25 23:44:22 +00:00
2021-02-09 14:00:14 +00:00
2021-02-23 04:10:09 +00:00
2021-02-19 19:28:53 +00:00
2021-03-01 20:59:43 +00:00
2021-02-23 01:53:51 +00:00
2021-02-19 14:46:21 +00:00
2021-02-25 19:57:49 +00:00
2021-02-26 02:11:50 +00:00
2021-02-21 02:25:26 +00:00
2021-03-11 17:20:58 +00:00
2021-05-19 06:26:35 +00:00
2021-02-22 20:27:09 +00:00
2021-03-08 19:43:19 +00:00
2021-03-10 19:33:23 +00:00
2021-03-05 22:14:48 +00:00
2021-04-27 01:16:39 +00:00
2021-03-28 03:27:04 +00:00
2021-03-24 17:54:03 +00:00
2021-03-26 19:40:37 +00:00
2021-07-28 21:41:07 +00:00
2021-04-02 05:24:14 +00:00
2021-04-02 00:45:56 +00:00
2021-04-07 02:05:55 +00:00
2021-04-14 04:02:01 +00:00
2021-04-23 05:10:41 +00:00
2021-04-21 09:07:09 +00:00
2021-04-22 16:38:37 +00:00
2021-04-23 20:57:54 +00:00
2021-04-26 21:27:41 +00:00
2021-04-28 00:49:58 +00:00
2021-05-03 17:46:12 +00:00
2021-05-03 15:03:57 +00:00
2021-05-05 18:03:32 +00:00
2021-05-05 01:47:58 +00:00
2021-05-19 01:09:20 +00:00
2021-05-22 00:51:17 +00:00
2021-06-08 12:17:50 +00:00
2021-06-04 01:31:23 +00:00
2021-06-03 20:52:22 +00:00
2021-06-09 02:18:34 +00:00
2021-06-13 05:50:15 +00:00
2021-06-14 07:12:37 +00:00
2021-06-17 02:30:22 +00:00
2021-06-25 05:00:20 +00:00
2021-06-24 18:58:27 +00:00
2021-08-25 01:57:42 +00:00
2021-06-29 04:38:12 +00:00
2021-08-23 19:49:23 +00:00
2021-07-07 22:29:01 +00:00
2021-08-13 20:47:06 +00:00
2021-07-19 13:27:46 +00:00
2021-07-15 17:35:20 +00:00
2021-07-21 00:01:12 +00:00
2021-07-22 20:47:59 +00:00
2021-08-16 18:20:12 +00:00
2021-08-25 03:12:43 +00:00
2021-08-24 18:02:21 +00:00
2021-08-28 17:05:43 +00:00
2021-09-02 12:49:05 +00:00
2021-09-01 02:16:30 +00:00
2021-08-31 21:49:48 +00:00
2021-09-01 19:51:25 +00:00
2021-09-09 19:17:02 +00:00
2021-09-09 23:18:18 +00:00
2021-09-13 18:38:15 +00:00
2021-09-19 02:43:09 +00:00
2021-09-20 16:27:53 +00:00
2021-09-20 16:26:30 +00:00
2021-09-23 00:14:22 +00:00
2021-09-23 19:41:41 +00:00