Guide to Submitting Incompatible Changes

A proposal is usually written by a developer responsible for the change or the relevant subsystems. It has to be described in the issue tracker and marked with the "for-language-committee" tag. To provide all the necessary details, issue in the tracker should follow the template below.

Classification

This section needs to classify the change, without describing its essence. The classification is used by the Committee to quickly assess the severity of the issue. Here are the common categories to be used.

This section can be used as a checklist of things that need to be evaluated/thought of.

Type of change

Specify one or more of the following:

New errors are introduced

Some valid language constructs change their meaning

Change in the standard library

API removal

Affecting ABI

Not affecting ABI

API moved to different artifact

API type signature change

Affecting ABI

Not affecting ABI

Contract refinement

Other contract changes

Change in compilation strategy

Change in ABI

Change in the behavior of generated code

Change in interoperability layer(s)

Motivation types

Specify one or more of the following:

User code fails with exception(s)

Compiler/Tooling fails with exception(s)

The implementation does not abide by a published spec or documentation