mirror of
https://github.com/nim-lang/Nim.git
synced 2026-08-17 12:22:45 +00:00
adds changelog and manual
This commit is contained in:
@@ -35,6 +35,10 @@ errors.
|
||||
|
||||
- Adds a new warning `--warning:ImplicitRangeConversion` that detects downsizing implicit conversions to range types (e.g., `int -> range[0..255]` or `range[1..256] -> range[0..255]`) that could cause runtime panics. Safe conversions like `range[0..255] -> range[0..65535]` and explicit casts do not trigger warnings. `int` to `Natural` and `Positive` conversions do not trigger warnings, which can be enabled with `--warning:systemRangeConversion`.
|
||||
|
||||
- Procedure compatibility also checks the backend representation of the
|
||||
parameter and result types, not just their source-level shape. Use
|
||||
`--legacy:procParamTypeBackendAliases` to restore the older behavior.
|
||||
|
||||
## Standard library additions and changes
|
||||
|
||||
[//]: # "Additions:"
|
||||
|
||||
@@ -1024,6 +1024,9 @@ These are the major type classes:
|
||||
* procedural type
|
||||
* generic type
|
||||
|
||||
The compiler's internal type zoo is richer than this summary suggests:
|
||||
some types that are structurally equal still differ in backend representation.
|
||||
|
||||
|
||||
Ordinal types
|
||||
-------------
|
||||
@@ -2174,6 +2177,10 @@ Procedural type
|
||||
A procedural type is internally a pointer to a procedure. `nil` is
|
||||
an allowed value for a variable of a procedural type.
|
||||
|
||||
Procedure compatibility also checks the backend representation of the
|
||||
parameter and result types, not just their source-level shape. Use
|
||||
`--legacy:procParamTypeBackendAliases` to restore the older behavior.
|
||||
|
||||
Examples:
|
||||
|
||||
```nim
|
||||
|
||||
Reference in New Issue
Block a user