Files
Nim/compiler
ringabout fd9d2f5b82 templates/macros use no expected types when return types are specified (#24298)
fixes #24296
fixes #24295

Templates use `expectedType` for type inference. It's justified that
when templates don't have an actual return type, i.e., `untyped` etc.

When the return type of templates is specified, we should not infer the
type

```nim
template g(): string = ""

let c: cstring = g()
```
In this example, it is not reasonable to annotate the templates
expression with the `cstring` type before the `fitNode` check with its
specified return type.

(cherry picked from commit 80e6b35721)
2024-10-23 08:12:50 +02:00
..
2022-12-26 13:20:05 +01:00
2022-09-27 10:57:47 +02:00
2022-09-27 10:57:47 +02:00
2024-06-07 15:34:34 +02:00
2024-05-21 14:52:29 +02:00
2024-05-21 14:52:29 +02:00
2017-01-07 22:35:09 +01:00
2023-06-27 22:42:48 +02:00
2022-12-16 08:01:15 +01:00
2019-11-28 17:13:04 +01:00
2024-05-23 13:55:23 +02:00
2023-05-06 21:27:28 +02:00
2023-05-11 10:10:51 +02:00
2021-01-12 09:36:51 +01:00
2022-03-23 20:34:53 +01:00
2022-10-17 23:48:51 +02:00
2023-07-02 22:36:05 +02:00
2024-09-17 13:43:10 +02:00
2024-05-21 14:52:29 +02:00
2023-06-17 05:42:05 +02:00
2023-06-17 05:42:05 +02:00

Nim Compiler

  • This directory contains the Nim compiler written in Nim.
  • Note that this code has been translated from a bootstrapping version written in Pascal.
  • So the code is not a poster child of good Nim code.

See Internals of the Nim Compiler for more information.