Files
Nim/compiler
metagn 037f87d904 top-down type inference, implements rfc 149 (#20091)
* micro implementation of rfc 149

refs https://github.com/nim-lang/RFCs/issues/149

* number/array/seq literals, more statements

* try fix number literal alias issue

* renew expectedType with if/case/try branch types

* fix (nerf) index type handling and float typed int

* use typeAllowed

* tweaks + const test (tested locally) [skip ci]

* fill out more of the checklist

* more literals, change @ order, type conversions

Not copying the full call tree before the typedesc call check
in `semIndirectOp` is also a small performance improvement.

* disable self-conversion warning

* revert type conversions (maybe separate op later)

* deal with CI for now (seems unrelated), try enums

* workaround CI different way

* proper fix

* again

* see sizes

* lol

* overload selection, simplify int literal -> float

* range, new @ solution, try use fitNode for nil

* use new magic

* try fix ranges, new magic, deal with #20193

* add documentation, support templates

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
(cherry picked from commit 0014b9c48e)
2023-05-11 15:12:38 +02:00
..
2019-11-28 17:13:04 +01:00
2021-05-12 22:00:37 +02:00
2021-03-19 16:53:38 +01:00
2021-03-29 21:16:11 +02:00
2017-01-07 22:35:09 +01:00
2019-11-28 17:13:04 +01:00
2021-01-07 20:26:40 +01:00
2021-05-20 15:48:46 +02:00
2021-01-12 09:36:51 +01:00
2019-09-27 07:02:54 +02:00
2022-03-24 13:25:20 +01:00
2023-04-24 17:34:28 +02:00
2021-04-09 08:00:13 +02:00
2019-11-28 17:13:04 +01:00
2021-01-07 20:26:40 +01:00
2023-04-26 12:48:12 +02:00
2020-11-10 21:53:25 +01:00
2021-05-09 00:56:37 +02:00
2023-01-19 10:33:13 +01: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.