aboutsummaryrefslogtreecommitdiff
path: root/.github/ISSUE_TEMPLATE/archived/11-language-change.md
blob: cc9b82b3b761cecdd3d1a520fc060f74bef92612 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
name: Language Change Proposals
about: Changes to the language
title: "proposal: Go 2: "
labels:
  - Proposal
  - v2
  - LanguageChange
---

<!--
Our process for evaluating language changes can be found here:
https://go.googlesource.com/proposal/+/refs/heads/master#language-changes
-->

### Author background

- **Would you consider yourself a novice, intermediate, or experienced Go programmer?**
- **What other languages do you have experience with?**

### Related proposals

- **Has this idea, or one like it, been proposed before?**
  - **If so, how does this proposal differ?**
- **Does this affect error handling?**
  - **If so, how does this differ from previous error handling proposals?**
- **Is this about generics?**
  - **If so, how does this relate to the accepted design and other generics proposals?**

### Proposal

- **What is the proposed change?**
- **Who does this proposal help, and why?**
- **Please describe as precisely as possible the change to the language.**
- **What would change in the language spec?**
- **Please also describe the change informally, as in a class teaching Go.**
- **Is this change backward compatible?**
  - Breaking the Go 1 compatibility guarantee is a large cost and requires a large benefit.
    Show example code before and after the change.
  - **Before**
  - **After**
- **Orthogonality: how does this change interact or overlap with existing features?**
- **Is the goal of this change a performance improvement?**
  - **If so, what quantifiable improvement should we expect?**
  - **How would we measure it?**

### Costs

- **Would this change make Go easier or harder to learn, and why?**
- **What is the cost of this proposal? (Every language change has a cost).**
- **How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?**
- **What is the compile time cost?**
- **What is the run time cost?**
- **Can you describe a possible implementation?**
- **Do you have a prototype? (This is not required.)**