Alexander Medvednikov
3db4d66824
operator | not defined on bool
2019-09-15 19:35:48 +03:00
Alexander Medvednikov
48c05b5a45
cgen: use *char in all functions with *char args to avoid warnings
2019-09-15 18:56:33 +03:00
Alexander Medvednikov
849bef987c
more C warnings fixed
2019-09-15 15:53:57 +03:00
Alexander Medvednikov
3e923871cf
compiler: use *char() cast in C functions to afix warnings
2019-09-15 15:19:18 +03:00
joe-conigliaro
f077fbd32d
vlib: change `[0;n]` to `[0].repeat(n)`
2019-09-15 12:26:05 +03:00
Henrixounez
602e472b8a
builtin: getchar for unicode characters
2019-09-15 04:41:24 +03:00
Henrixounez
04ff9ede9f
readline: allow writing without tty + small fixes
2019-09-15 04:33:31 +03:00
Alexander Medvednikov
5cc81b91cb
JavaSript backend (early stage)
2019-09-15 03:49:57 +03:00
Vitor Oliveira
1a099c9284
vlib: fix several typos
2019-09-14 23:54:14 +03:00
joe-conigliaro
81bf67ba4f
hash.crc32: change *Crc32 to &Crc32
2019-09-13 22:45:04 +03:00
joe-conigliaro
5aaa794519
compiler: clean up the typo check
2019-09-13 16:15:30 +03:00
Alexander Medvednikov
9dd86f6fb8
compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn"
2019-09-13 15:47:31 +03:00
joe-conigliaro
41734affb3
compiler: detect typos in function/variable/module names
2019-09-13 14:10:24 +03:00
iRedMail
92b634de7c
Fixes old syntax and make Row.vals mutable
...
- Replace `*` by `&` for C code
- Make `Row.vals` mutable. Otherwise line 56 will raise error.
2019-09-13 00:46:51 +03:00
Henrixounez
af60f9ead4
compiler: escapes quote on literals
2019-09-11 15:48:08 +03:00
Alexander Medvednikov
9853323157
array: make ".contains()" private, use "in" everywhere
2019-09-11 15:12:13 +03:00
Delyan Angelov
a53c69de38
os: use path separator more consistently
2019-09-11 01:08:23 +03:00
Alexander Medvednikov
7fc678c961
fix urllib_test.v
2019-09-09 14:21:18 +03:00
Alexander Medvednikov
00687de43b
memory: clean up all arrays in the V compiler
2019-09-09 13:55:47 +03:00
Alexander Medvednikov
735c78fc6d
fix bitfield.v
2019-09-09 02:38:15 +03:00
Alexander Medvednikov
a6ec6e23bc
bf: minor clean up
2019-09-09 02:31:43 +03:00
Alexander Medvednikov
31c9a2a744
fix bitfield_test.v
2019-09-08 17:55:27 +03:00
Alexander Medvednikov
ae866260c8
bf: rename to bitfield
2019-09-08 17:45:51 +03:00
Alexander Medvednikov
6dcdb224a1
bf: fix resize()
2019-09-08 16:10:59 +03:00
Alexander Medvednikov
dcc42c858b
glfw: GPU driver info
2019-09-08 15:54:16 +03:00
Alexander Medvednikov
76a89c832e
parser: small optimizations
2019-08-26 01:19:39 +03:00
Flavien CADET
c1f76aec3a
vweb: fix a typo
2019-09-06 20:30:20 +03:00
joe-conigliaro
79d4d56fe5
string: implement is_space in V & make trim_space use trim
2019-09-06 13:22:37 +03:00
Carlos Esquerdo Bernat
8a77d4482c
vweb: fix headers
2019-09-05 15:46:24 +03:00
Henrixounez
f83bc9528d
readline: added suspend handling and dont print special characters
2019-09-05 15:06:41 +03:00
Henrixounez
cc5470d068
readline: overwrite mode and eof fix
2019-09-05 02:02:04 +03:00
vitalyster
38d26c8080
Travis: run msvc tests
2019-09-03 20:15:08 +03:00
joe-conigliaro
b4d033ff54
compiler: generalize mod dag & use for sorting structs also
2019-09-03 19:11:21 +03:00
Delyan Angelov
db110759ab
vweb: fix warnings
2019-09-03 19:10:56 +03:00
joe-conigliaro
5dcfda0600
crypto.rand: improve test to actually check for difference in data
2019-09-03 16:10:26 +03:00
Delyan Angelov
c9a39dfdb5
compiler: build tetris executable on windows with both msvc and mingw gcc
2019-09-03 16:09:43 +03:00
Henrixounez
216f343f09
readline: history feature
2019-09-03 16:07:20 +03:00
Joe Conigliaro
1f67d9edd8
fix bugs breaking tests
2019-09-03 15:21:52 +03:00
Delyan Angelov
ecb661f719
tetris: fix &Foo instead of *Foo warnings.
2019-09-03 11:39:06 +03:00
Vitaly Takmazov
83d724fb70
print_backtrace: do not use printf directly
2019-09-03 11:09:55 +03:00
Henrixounez
510fb2a981
readline: add custom prompt feature
2019-09-02 20:22:33 +03:00
Delyan Angelov
93716ee944
crypto: add utility hexhash functions
2019-09-02 20:22:19 +03:00
Alexander Medvednikov
bb9eec8696
json: use &
2019-09-02 19:17:05 +03:00
Henrixounez
9b8de9b59c
readline: clear the screen on ctrl+l
2019-09-02 15:33:46 +03:00
Alexander Medvednikov
1c6d51f271
remove u8 and i32 from tests and examples
2019-09-02 15:02:25 +03:00
Alexander Medvednikov
718041194f
os: clean up
2019-09-02 13:57:00 +03:00
Henrixounez
33ae7520e7
readline: added suppr key to delete characters right of cursor
2019-09-02 13:36:04 +03:00
Alexander Medvednikov
0e2c41e0f9
replace *Foo with &Foo everywhere
2019-09-01 22:51:16 +03:00
Alexander Medvednikov
3bd7bcfac3
remove u8 and i32 aliases
2019-09-01 22:37:22 +03:00
Alexander Medvednikov
4edccce9a3
array: sort ints
2019-09-01 22:30:49 +03:00
Henrixounez
fe3639d547
readline: multiline wrapping for editing and cursor
2019-09-01 20:43:47 +03:00
Alexander Medvednikov
bfa6505636
compiler: replace &Type with Type
2019-09-01 14:05:03 +03:00
Alexander Medvednikov
961e778ed1
map_test.v: format + ref test
2019-09-01 14:05:03 +03:00
Alexander Medvednikov
af5b2e1b3c
glfw: make Pos fields public
2019-09-01 07:09:18 +03:00
Henrixounez
4abfb686ec
readline: moving cursor feature
2019-09-01 01:02:33 +03:00
Henrixounez
95b107cbc6
readline: reworked dispatch architecture for easier features add
2019-08-31 21:18:32 +03:00
Alexander Medvednikov
72363ada84
array: make .set() private + format
2019-08-31 02:35:05 +03:00
Henrixounez
a9a4032a11
readline: basic reading on linux
2019-08-31 00:54:53 +03:00
kawa-yoiko
4f0f99e663
parser: fix mutability with chained fields
2019-08-30 20:19:06 +03:00
Delyan Angelov
e3389e8ec1
log: add seconds to terminal output too.
2019-08-30 13:06:02 +03:00
Alexander Medvednikov
d5d1b74f90
time: do not include <unistd.h> on windows
2019-08-30 01:10:29 +03:00
Alexander Medvednikov
3c5087902d
fix msvc build
2019-08-30 01:06:10 +03:00
Alexander Medvednikov
2fe20cd092
compiler: fix struct order bug
2019-08-29 23:46:12 +03:00
Henrixounez
29e0396eca
compiler: adds handling of two variables for loop on string
2019-08-29 21:41:16 +03:00
joe-conigliaro
cd625b04eb
http: windows - make https requests work in threads
2019-08-29 12:33:20 +03:00
joe-conigliaro
32683ad6fd
sync: fix mutex on win & waitgroup (all os) update. fixes news_fetcher example on win ( #1776 )
2019-08-29 11:48:03 +03:00
Delyan Angelov
c92654a044
fix building v on alpine with musl libc
2019-08-28 19:26:18 +03:00
Vitaly Takmazov
5124eae47d
msvc: check exit code
2019-08-28 13:26:27 +03:00
Delyan Angelov
73c6bae480
print backtraces on panic on mac and linux
2019-08-27 23:29:13 +03:00
joe-conigliaro
02fc7e14cd
make trim use cutset like trim_right/trim_left
2019-08-27 22:53:32 +03:00
joe-conigliaro
3db50f724b
net.urllib: Update with latest changes from go lib
2019-08-27 22:44:41 +03:00
Alexander Medvednikov
ab0a78a498
fix sync_win.v
2019-08-27 00:46:27 +03:00
Alexander Medvednikov
d4b6b6c833
freetype: render all Unicode characters
2019-08-27 00:20:54 +03:00
Robin Martijn
5df31c16f7
json: fix #1751 ; support unsigned integers
2019-08-26 20:02:19 +03:00
joe-conigliaro
857cf00caf
builtin.string: make trim_left/right() behave correctly
2019-08-26 14:18:58 +03:00
Delyan Angelov
aa438c7c3f
os: fix exec() and get_raw_line(); fix Windows tests and examples
2019-08-26 13:51:48 +03:00
Swastik Baranwal
db525524ee
string: title() and small fixes
2019-08-26 13:32:53 +03:00
Robin Martijn
754b8082fb
time/vlib: fix day_of_week() with sakamoto's algorithm
2019-08-25 23:35:01 +03:00
joe-conigliaro
836cc32d78
http: allocate memory dynamically on Windows
2019-08-25 21:27:12 +03:00
Henrixounez
f22d5c5624
vlib: remove negative checks on unsigned ( #1728 )
2019-08-25 01:48:38 +03:00
Delyan Angelov
a62e6b127a
http: send headers and request data
2019-08-25 01:48:06 +03:00
Alexander Medvednikov
cd10890258
minor tcc fixes
2019-07-08 03:44:47 +02:00
Alexander Medvednikov
4c07df6a21
small webassembly fix
2019-08-24 03:09:23 +03:00
Alexander Medvednikov
031e7fe113
os: libproc.h on macos only
2019-08-24 02:53:11 +03:00
Alexander Medvednikov
7fd9827318
all: add missing includes
2019-08-24 02:48:47 +03:00
Alexander Medvednikov
d98c20466e
cc.v: build with "implicit-function-declaration" and fix declarations
...
required for the webassembly backend
2
2019-08-24 00:20:53 +03:00
Michiel Vlootman
817f5bf0a6
add test for [json:fieldname]
...
Added test also tests the output from json.encode to make sure the json:fieldname attribute is used.
2019-08-23 11:43:11 +03:00
Alexander Medvednikov
e39cb41d6b
json: custom json field names with "[json:field_name]"
2019-08-23 02:54:39 +03:00
Alexander Medvednikov
f61b14584a
remove "import const" everywhere
2019-08-23 00:09:03 +03:00
Alexander Medvednikov
dcfc9eb1a1
remove from the language
2019-08-22 23:19:31 +03:00
Alexander Medvednikov
2eb9440095
http: disable the tests for now
2019-08-22 22:48:31 +03:00
Alexander Medvednikov
eb5fcafa77
table: TypeCategory; freetype: remove C code; [typedef] C structs;
...
Objective-C interfaces
2019-08-22 22:18:55 +03:00
SewerynKaminski
c8da79d785
Fix terminal goto control sequence building
2019-08-22 20:10:54 +03:00
Henrixounez
780ddaf22b
compiler: handles printing of structures and arrays of structures
2019-08-22 14:34:33 +03:00
Danil-Lapirow
fe8145c697
json: add raw json test
2019-08-22 14:22:16 +03:00
Delyan Angelov
77b31de117
compiler: produce errors in C "filepath:line:column:" format
2019-08-22 14:15:11 +03:00
Henrixounez
9b3b22d6b3
compiler: allows compound assignment operators on array
2019-08-22 04:57:43 +03:00
Delyan Angelov
ffb6c6f5b4
net: add udp socket support and a simple udp server example.
2019-08-22 04:01:04 +03:00
Delyan Angelov
51818346df
http: support plain http protocol
2019-08-21 20:04:06 +03:00
Delyan Angelov
49899c649c
orm: fix select .. limit 1 . This case now returns an ?Row.
2019-08-20 16:33:14 +03:00
Carlos Esquerdo Bernat
cf23c289ec
tests: cleanup
2019-08-20 11:18:12 +03:00
Istvan
dee411149e
pg: config struct for connecting
2019-08-20 11:08:06 +03:00
Alexander Medvednikov
33e730b3fa
ui: users_gui example
2019-08-20 00:19:55 +03:00
Alexander Medvednikov
01586d6d67
ui: ui_lin.v and ui_win.v
2019-08-19 00:28:33 +03:00
Alexander Medvednikov
ac6c6e36c3
V UI readme: better wording
2019-08-19 00:14:39 +03:00
Alexander Medvednikov
7465ff97b3
V UI info
2019-08-19 00:12:35 +03:00
Alexander Medvednikov
f654c4af7a
ui README.md
2019-08-18 18:28:29 +03:00
Alexander Medvednikov
ac8a6d180c
ui license
2019-08-18 18:20:17 +03:00
Alexander Medvednikov
18d0a08ace
freetype: fix utf crash
2019-08-18 18:13:12 +03:00
Emily Hudson
d373b331fa
ompiler: MSVC related fixes and `v test v` for windows testing
...
* MSVC related fixes and v test v for windows testing
* If second stage crashes on windows goto error
* use os.exec instead of system so that the error can be printed
* use -debug for osx vid
* Fix some whitespace to trigger a rebuild
2019-08-18 17:25:33 +03:00
S-YOU
0066afe7fc
mysql module
2019-08-18 17:24:43 +03:00
Alexander Medvednikov
89b5a0fc25
ui: fix focus_app()
2019-08-18 17:01:31 +03:00
Alexander Medvednikov
56fbafe03a
cc(): fix -x objective-c; ui.focus_app()
2019-08-18 16:59:36 +03:00
Alexander Medvednikov
f9fb6f0be4
orm_test: remove pg import for now
2019-08-18 15:02:36 +03:00
joe-conigliaro
22348f2245
http: add vschannel_cleanup() back
2019-08-18 13:04:17 +03:00
Alexander Medvednikov
fe2d2bd2a3
fmt: remove trailing spaces
2019-08-17 22:21:43 +03:00
Alexander Medvednikov
8a1324c141
os: make exec() return ?Result with exit code and output
2019-08-17 21:11:40 +03:00
Alexander Medvednikov
60bf668281
string: fix trim_right
2019-08-17 20:07:40 +03:00
Joe Conigliaro
e5ebb83bd9
add test for writer
2019-08-17 17:43:43 +03:00
joe-conigliaro
547241c13c
http: make do() return errors instead of panic
2019-08-17 17:02:01 +03:00
Joe Conigliaro
1274cdf0af
path must start with /
2019-08-17 16:37:31 +03:00
Alexander Medvednikov
100bb7c54c
os: clean up windows functions
2019-08-17 16:17:43 +03:00
Alexander Medvednikov
7ed0438b04
os: remove PathSeparator hack now that we have v_win.c
2019-08-17 16:02:59 +03:00
joe-conigliaro
1ba701e036
encoding.csv: add write support
2019-08-17 15:51:20 +03:00
joe-conigliaro
56566ba3d0
http: follow redirects (openssl & schannel) + fix url params
2019-08-17 15:50:47 +03:00
Nicolas Sauzede
4760fea489
examples/tetris: use better unique colors, implement game over/pause
2019-08-17 02:56:09 +03:00
unknown-v
49205dcce3
examples: fix maps warnings
2019-08-17 02:55:11 +03:00
Alexander Medvednikov
be141d9c5f
os: Windows fixes
2019-08-17 02:09:36 +03:00
Alexander Medvednikov
94b900bd0a
map: allow array values
2019-08-16 23:28:47 +03:00
Alexander Medvednikov
b188ecf680
Makefile: re-write `make test` in V
2019-08-16 16:51:46 +03:00
Alexander Medvednikov
c156cef972
vweb: fix the test
2019-08-16 09:58:27 +03:00
Alexander Medvednikov
dc9cebe26c
orm fixes; glfw: remove C code
2019-08-16 09:10:03 +03:00
kambrium
a5af903362
Fixed typo
2019-08-16 09:02:09 +03:00
joe-conigliaro
7b48f7ac9e
encoding.csv module
2019-08-14 09:45:56 +03:00
Delyan Angelov
a0c8fa5bbc
http openssl: on linux, prefer newer openssl installations when available
2019-08-13 10:49:07 +03:00
Alexander Medvednikov
a11961b0d3
vweb: make mime_types a const
2019-08-13 01:04:26 +03:00
Alexander Medvednikov
bc563930f7
string: remove abs()
2019-08-12 21:16:01 +03:00
Alexander Medvednikov
ef2ab31e88
sql: only accept strings and ints for now
2019-08-12 21:07:03 +03:00
Alexander Medvednikov
15a42f1f35
array.clone()
2019-08-12 14:41:40 +03:00
joe-conigliaro
8a2714b35a
fix typo
2019-08-12 11:03:49 +03:00
Henrixounez
872aa536d8
compiler: unsigned number properly printed and converted to string
...
fix: array accessing now works with unsigned numbers
2019-08-12 09:15:53 +03:00
Alexander Medvednikov
8c3475b902
generate `.str()` for all arrays
2019-08-11 22:39:45 +03:00
Nick Treleaven
ea30ba4555
map: remove temporary fields _keys, key_i
2019-08-11 19:43:21 +02:00
Carlos Esquerdo Bernat
d526cfc205
vweb: fix V panic: array index out of range: 1/0
2019-08-11 14:07:22 +02:00
Delyan Angelov
2197c210e7
http: remove superfluous new line in stdout, when making a http request.
2019-08-11 13:15:29 +02:00
Alexander Medvednikov
8f8e0dfad7
V ORM
2019-08-10 13:35:29 +02:00
iRedMail
5a76255297
Allow extra http methods with form: PUT, PATCH
...
- Allow extra http methods with form: PUT, PATCH
- Rename `post_form` to `form`
2019-08-10 11:44:54 +02:00
Julian Schurhammer
1864e92ff4
parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly
2019-08-10 10:26:42 +02:00
joe-conigliaro
a0b59783a2
vlib.http: fix http schannel & follow redirects & cleanup
2019-08-10 10:05:59 +02:00
Alexander Medvednikov
5a80d587d5
makefile: use latest v.c
2019-08-10 08:21:32 +02:00
Alexander Medvednikov
d4441e4353
freetype: clean up new_context()
2019-08-10 07:13:25 +02:00
Delyan Angelov
7d8b296943
freetype,gg: option to pass a custom font_path to freetype.new_context .
2019-08-10 00:10:26 +02:00
Vitaly Takmazov
6f03ed0b13
darwin: fix freetype include path for Homebrew and Macports
2019-08-10 00:09:15 +02:00
Nicolas Sauzede
efa540e883
examples: tetris: draw score
2019-08-09 13:03:29 +02:00
joe-conigliaro
d9a83481a5
http: initial windows schannel http support
2019-08-09 12:52:14 +02:00
Alexander Medvednikov
181a39d752
fix int_test.v
2019-08-09 10:21:21 +02:00
Alexander Medvednikov
ae0e3efb8e
scanner: experimental ≠ etc support
2019-08-09 09:32:51 +02:00
Alexander Medvednikov
fbc480fbed
ft: rename to freetype
2019-08-08 16:43:11 +02:00
Alexander Medvednikov
865eee2f6b
gg: remove draw_text()
2019-08-08 16:09:04 +02:00
Alexander Medvednikov
27fad0f19b
ft: clean up
2019-08-08 10:08:44 +02:00
Julian Schurhammer
61983a6799
parser: check that functions return in all if/else branches
2019-08-08 09:49:56 +02:00
Julian Schurhammer
28147c0930
os.exec: return ?string instead of string
2019-08-08 07:30:05 +02:00
dm1try
1c38661ff7
openssl: add Brew openssl path
...
closes #1509
2019-08-08 06:26:28 +02:00
Emily Hudson
802ff1d012
compiler: scoped defer + build tests with msvc
2019-08-07 17:51:21 +02:00
Marco Böttcher
c924a6cf00
flag: allow to define flags with abbreviation
...
* flag: allow to check the count of the free args to produce an error
* flag: allow to define flags with abbreviation
flags could be defined to use a single char as abbreviation like
'--output' or '-o'
'--help' or '-h'
2019-08-07 16:52:10 +02:00
Alexander Medvednikov
4b69d43f9f
fix examples
2019-08-07 14:16:10 +02:00
Alexander Medvednikov
b5d67f226f
openssl: use system headers on non-Windows systems
2019-08-07 14:09:15 +02:00
Joe Conigliaro
25d84f72a9
last mut fixes
2019-08-07 14:07:37 +02:00
Alexander Medvednikov
cebb6cd537
ft: minor fixes
2019-08-07 13:39:54 +02:00
Alexander Medvednikov
ff6e0df0a5
array: minor fixes
2019-08-07 13:39:54 +02:00
joe-conigliaro
511a3d3901
vlib.crypto+other: fix mut args
2019-08-07 13:37:07 +02:00
Alexander Medvednikov
818c4a14e5
compiler: fix a bug with mutable array args
2019-08-07 12:36:45 +02:00
joe-conigliaro
0bcc53c366
vlib: fix mutable args
2019-08-07 09:53:33 +02:00
Alexander Medvednikov
34e0b164eb
make function arguments immutable by default
2019-08-07 08:59:00 +02:00
Cody Ley-Han
06b8bd9382
Add a logger interface to the std modules
2019-08-07 08:06:53 +02:00
Alexander Medvednikov
52f473d1c7
all: fix immutable fn args
2019-08-07 05:28:00 +02:00
Vitaly Takmazov
8d35649d90
openssl_backend: add MacPorts libssl path
2019-08-07 04:28:15 +02:00
Delyan Angelov
7607b00952
http: chunked decoding support
2019-08-07 03:57:47 +02:00
Alexander Medvednikov
6bde860043
http test: not today
2019-08-06 17:31:48 +02:00
Alexander Medvednikov
ac335269b3
bring back the http test
2019-08-06 17:06:44 +02:00
Alexander Medvednikov
b7a6c761b3
openssl: make compile on Linux
2019-08-06 16:35:49 +02:00
joe-conigliaro
60d206c29d
http: use urllib.parse
2019-08-06 14:43:09 +02:00
Alexander Medvednikov
1b2e49be1c
http: disable the test until windows is fixed
2019-08-06 14:28:27 +02:00
Alexander Medvednikov
3316968266
http: only run the get test on linux/macos for now
2019-08-06 14:15:42 +02:00
Alexander Medvednikov
8b75f2125a
http: init_module() to init openssl once
2019-08-06 14:03:01 +02:00
Alexander Medvednikov
eece058f18
h1
2019-08-06 14:03:01 +02:00
Alexander Medvednikov
bea8f6d7e5
http: remove libcurl dependency; replace it with a simple OpenSSL backend
2019-08-06 13:32:09 +02:00
joe-conigliaro
69932758db
net.urllib: update enum / const style
2019-08-06 13:01:05 +02:00
Alexander Medvednikov
7a7b5040e2
http: fix response headers and status code; clean up ft and gg
2019-08-06 03:06:27 +02:00
Marco Böttcher
ff730b4eb0
flag: allow to check the count of the free args to produce an error
2019-08-06 01:56:42 +02:00
Vitaly Takmazov
43b81688f6
socket: WSACleanup should not be called on socket close
2019-08-06 01:50:45 +02:00
unknown-v
22eaceb17c
http_win: set status_code ,remove unused var
2019-08-05 09:59:07 +02:00
Joe Conigliaro
2fab73983b
add builtin import pass + use builder in map
2019-08-05 06:01:53 +02:00
Alexander Medvednikov
5ed338dc2e
bring back map.str()
2019-08-05 04:34:12 +02:00
Alexander Medvednikov
8d3617b3de
fix fn_test.v and urllib.v
2019-08-05 03:31:22 +02:00
Alexander Medvednikov
350e13679c
force `()` in complex bool expressions: `(a && b) || c` instead of `a && b || c`
2019-08-05 03:22:28 +02:00
Alexander Medvednikov
4bc1f73fd0
fix gg.v
2019-08-04 09:46:49 +02:00
Alexander Medvednikov
ee437de8d3
type name check fixes
2019-08-04 09:38:46 +02:00
Alexander Medvednikov
8bce5cb810
force snake_case in struct fields
2019-08-04 09:18:16 +02:00
Alexander Medvednikov
576192949d
fixed size array with const size: `numbers := [N]int`
2019-08-04 04:11:16 +02:00