Clyybber
e057b1d839
Fix #14990 ( #14991 )
...
* Fix #14990
* Add testcase
2020-07-15 19:00:52 +02:00
Andreas Rumpf
da29222f86
init checks and 'out' parameters ( #14521 )
...
* I don't care about observable stores
* enforce explicit initializations
* cleaner code for the stdlib
* stdlib: use explicit initializations
* make tests green
* algorithm.nim: set result explicitly
* remove out parameters and bring the PR into a mergable state
* updated the changelog
2020-06-23 10:53:57 +02:00
Timothee Cour
faedb14a16
misc cleanups in compiler msgs: use toHumanStr, etc ( #14677 )
2020-06-15 21:17:24 -07:00
Timothee Cour
e30a08103d
remove tyOpt, mOpt ( #14636 )
...
* remove tyOpt, mOpt
* fixup
2020-06-12 11:03:52 +02:00
Andreas Rumpf
dadc97d91e
typo
2020-05-26 14:49:44 +02:00
cooldome
5fb40af57e
fix #14333 ( #14336 )
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-13 23:57:05 +02:00
Araq
15f54728ef
fixes a bug encountered when running 'nim check posix_haiku.nim'
2020-05-02 22:31:19 +02:00
Clyybber
83547ec769
Make unreachable else in case statements a warning instead of an error ( #14190 )
...
* Fix #14019 by making trailing else a warning
* Rename to UnreachableElse
2020-05-02 16:09:02 +02:00
cooldome
3b5a504692
parseEnum_regression ( #14150 )
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-04-28 19:56:50 +02:00
Andy Davidoff
9604a5a97a
fix typo ( #14063 )
2020-04-21 23:23:15 -04:00
Araq
dd24004fab
cleanup PR #14048
2020-04-21 23:27:19 +02:00
cooldome
5db0bb744c
Replace enum fields idents with syms ( #14048 )
...
* replace enum fields idents with syms
* Trigger build
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-04-21 20:12:32 +02:00
cooldome
f86fc5316a
fix #13909 ( #13914 ) [backport:1.2]
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-04-08 11:28:09 +02:00
Zahary Karadjov
ce9a4ed124
Replace tfHasRequiresInit with a more accurate mechanism
...
The new mechanism can deal with more complex scenarios such as
not nil field appearing in a non-default case object branch or
a field within a generic object that may depend on a when branch.
The commit also plugs another hole: the user is no longer able
to create illegal default values through seq.setLen(N).
2020-04-01 19:38:44 +02:00
Zahary Karadjov
e63b673ce2
Fix https://github.com/nim-lang/Nim/issues/4907
2020-04-01 19:38:44 +02:00
Zahary Karadjov
1b570f2b18
Turn the warning for uninitialized (result) variables into errors
2020-04-01 19:38:44 +02:00
Zahary Karadjov
a8b6222c86
First steps, the compiler can boot with enforced requiresInit
2020-04-01 19:38:44 +02:00
Andreas Rumpf
9134bb9cfb
macros for proc types, macros for types ( #13778 )
...
* new minor feature: macros for proc types, to be documented
* Finished the implementation and added tests
* [skip ci] Describe the new custom pragmas in the manual and the changelog
Co-authored-by: Zahary Karadjov <zahary@gmail.com >
2020-03-31 21:14:05 +02:00
Andreas Rumpf
2a278f6eba
'.push raises: []' now also affects proc types ( #13776 )
...
* '.push raises: []' now also affects proc types
* fixes the regression
* less disruptive bugfix
* another attempt
2020-03-29 22:00:18 +02:00
Jasper Jenkins
51bd442b88
fix when statements in inheritable generic objects ( #13667 ) [backport]
2020-03-17 23:44:32 +01:00
Araq
7205c3ebe2
minor code style changes
2020-03-16 14:55:58 +01:00
Andreas Rumpf
a6682de004
catchable defects ( #13626 )
...
* allow defects to be caught even for --exceptions:goto (WIP)
* implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180
* new implementation for integer overflow checking
* produce a warning if a user-defined exception type inherits from Exception directly
* applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic'
* fixes #13627
* don't inherit from Exception directly
2020-03-12 23:44:33 +01:00
Araq
b0684ec425
fixes #12757
2020-03-11 09:26:57 +01:00
Arne Döring
eb42f38088
Remove dead magics ( #13551 )
2020-03-03 12:42:43 +01:00
Timothee Cour
7939319379
fix is with generic types; fix genericHead(Foo[T]) ( #13303 )
...
* fix #9855 , fix #9855 , fix genericHead
* render TTypeKind via toHumanStr
2020-02-09 13:48:55 +01:00
cooldome
46bfb590c8
fixes #13281 ( #13282 )
...
* fixes ##13281
* add comment to test
2020-01-28 14:55:54 +01:00
hlaaftana
a71654323d
Clearer final objects error; fixes #13256 ( #13257 )
2020-01-26 18:56:04 +01:00
Jasper Jenkins
796aafe7e0
make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts ( #13170 )
2020-01-17 10:34:31 +01:00
Jasper Jenkins
2e7c9eb6a8
case coverage error message for char ( #12948 )
2019-12-22 10:10:46 +01:00
Jasper Jenkins
3c38edf563
Better case coverage error message for alias and range enum ( #12913 )
2019-12-18 10:29:01 +01:00
Clyybber
18e2ea787e
Cleanup leftovers of #12911( #12916 )
2019-12-17 17:58:04 +01:00
Timothee Cour
e8f4586c68
allow typed/untyped in magic procs ( #12911 )
2019-12-17 11:07:32 +01:00
Clyybber
7e747d11c6
Cosmetic compiler cleanup ( #12718 )
...
* Cleanup compiler code base
* Unify add calls
* Unify len invocations
* Unify range operators
* Fix oversight
* Remove {.procvar.} pragma
* initCandidate -> newCandidate where reasonable
* Unify safeLen calls
2019-11-28 17:13:04 +01:00
Araq
72237e2bcf
ARC: ported the GC tests over to --gc:arc
2019-11-26 16:04:28 +01:00
Arne Döring
03fa9a9041
fix regression in align ( #12680 )
...
* fix regression in align
* add test typesym without type
2019-11-19 09:58:47 +01:00
Clyybber
cf5c3f2400
Fixes #12379 ( #12591 ) [backport]
2019-11-04 20:57:14 +01:00
alaviss
5b3571c9a4
compiler/semtypes: improve lineinfo for exported object fields ( #12495 )
...
The line info should now points to the `a`, not the `*`, like this:
a*: string
^
Additionally this fixes nimsuggest's highlighting of exported object
fields.
2019-10-25 01:06:53 +02:00
Araq
ed2fb36bc6
refactoring: use the new strings and seqs when optSeqDestructors is active
2019-10-20 08:11:07 +02:00
Araq
61ea85687c
refactoring: --newruntime consists of 3 different switches
2019-10-20 08:11:07 +02:00
Andreas Rumpf
81125e2029
[backport] add back a check that got accidentically removed; fixes #12379 ( #12444 )
2019-10-17 20:02:59 +02:00
Clyybber
ed1d41c51e
Small ast.nim cleanup ( #12156 )
...
* Remove sonsLen
* Use Indexable
2019-09-09 11:54:15 +02:00
Araq
18135cc194
proper bugfix
2019-09-08 13:08:41 +02:00
Araq
8362d92e47
fixes #12091
2019-09-08 13:08:41 +02:00
Araq
e765687646
Merge branch 'devel' into uint-range-checks
2019-09-02 10:27:35 +02:00
Araq
ad82e65387
gc:destructors progress
2019-09-01 23:28:26 +02:00
Andreas Rumpf
5f7a6aff06
fixes #11941 ( #12079 )
2019-08-29 00:35:05 +02:00
Andreas Rumpf
21fc8b4d4d
refactor sizealignoffset ( #12077 )
...
* small refactoring
* refactor computeObjectOffsetFoldFunction with AccumObject
* refactor packed object offstes fold function
* refactor compute union object offsets fold function
* merge normal/packed object offset fold function
* compiletime offsetof in c++ inheritance objects
* enable c++ inheritance offsetof tests
* correct alignment for big sets/enums on weird 32bit platforms
* uncomputedSize -> unknownSize
* workaround for travis
* fixes win32 alignment problems
2019-08-28 19:36:29 +02:00
Oscar Nihlgård
def6234903
Fix several float range issues
2019-08-27 14:45:19 +02:00
Arne Döring
ab8241ad42
minor stuff
2019-08-27 12:28:18 +02:00
Andreas Rumpf
b044523c5a
fixes 9195 ( #12055 )
2019-08-27 10:07:42 +02:00