1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

743 Commits

Author SHA1 Message Date
Alexander Medvednikov
9229a963ed array: use __new_array everywhere 2020-04-25 09:10:54 +02:00
Alexander Medvednikov
48857090fc runtime as type check: part 2 2020-04-25 08:42:23 +02:00
Alexander Medvednikov
2d187fb951 runtime as type check: part 1 2020-04-25 08:36:53 +02:00
Delyan Angelov
c6a829ce82 cgen: support for error('abc').str() and printing errors 2020-04-24 18:35:33 +03:00
yuyi
5664cbd3d0
enum: check enum name and modify related files 2020-04-23 05:16:10 +02:00
Alexander Medvednikov
45e21085c7 tests: re-enable some old array tests 2020-04-23 04:23:19 +02:00
Enzo Baldisserri
fecf4ddf65
cgen: fix optional pointers 2020-04-22 20:12:30 +02:00
Delyan Angelov
4b8ed3f831 cgen: fixes for ustring, makes utf8_util_test.v pass 2020-04-22 10:35:14 +03:00
Kris Cherven
b288ecb795
cgen: add map string generation 2020-04-22 04:00:38 +02:00
Kris Cherven
155891a4e0
parser: add unused variable warning 2020-04-22 01:52:56 +02:00
Alexey
9c0d97335e
builtin: improve backtrace on Windows 2020-04-20 20:59:08 +02:00
yuyi
27e04748ed
cgen:gen_str_for_array 2020-04-19 10:42:34 +02:00
Delyan Angelov
8a1248b2e7 builder: restore module import cycle detection/topological reorder 2020-04-16 12:29:36 +03:00
Kris Cherven
a3ab5df2ed
cgen: prepend __ to new_array 2020-04-15 20:12:06 +02:00
Alexey
91de4e1ece
array: test assignment operators 2020-04-14 20:32:06 +02:00
Alexey
0c63f5c80d
builtin: test left/right shift precedence 2020-04-14 19:38:11 +02:00
Alexander Medvednikov
f91d527154 deprecate import module 2020-04-14 18:27:30 +02:00
Alexander Medvednikov
ec10831318 parser: []int{cap:cap, len:len} syntax; minor fixes 2020-04-14 18:10:16 +02:00
yuyi
682c619456
array: fix array_byte.str error 2020-04-14 05:55:53 +02:00
ka-weihe
e247690fe1
map: fast_string_eq and improved comments
* improved comments and fast_string_eq
* make it pass CI
* enumerate traits
* Add parameter back
* remove space
* remove parameter
* Allow bootstrap compilation in one step with old vc (add new_map/2 shim).
2020-04-12 15:10:06 +03:00
yuyi
0ced7116b6
string: add is_upper/is_lower and fix parser.match_expr error
* string: add is_upper/is_lower and fix parser.match_expr error

* to_capital => capitalize, to_title => title

* is_titled => is_title, is_capitalized => is_capital
2020-04-12 13:09:05 +03:00
Alexander Medvednikov
4b029567e5 tests: test string literal indexing and mutable array filter 2020-04-11 23:32:00 +02:00
Alexander Medvednikov
39245f088a array: test !in and filter 2020-04-11 23:01:50 +02:00
lutherwenxu
dc4db87be3
vlib: use new filename format 2020-04-11 19:51:32 +02:00
yuyi
ea960b2ce2
parser: fix inter literal format error 2020-04-11 17:25:39 +02:00
Delyan Angelov
6433c23a34 string: add s.strip_margin_custom/1, instead of passing varargs to s.strip_margin()
The reason for adding s.strip_margin_custom/1 is that
passing varargs interfere with the current implementation of the
builtin module caching.
2020-04-11 11:06:12 +03:00
yuyi
bf20b01586
map: fix map_test.v error 2020-04-09 03:57:08 +02:00
Alexander Medvednikov
eb78396307 parser: fix prefix precedence 2020-04-08 13:53:11 +02:00
Delyan Angelov
3bad02abdd cgen: do comparison of f32/f64 values for == and != by calling f64_eq(a,b) and f64_ne(a,b) 2020-04-08 03:51:06 +03:00
ka-weihe
7406abe3b6
map: use strcmp and update wyhash 2020-04-08 00:02:15 +02:00
Alexander Medvednikov
6bbd1943dd cgen: fix &string cast; vfmt fixes 2020-04-07 18:51:44 +02:00
lutherwenxu
a8c92e6dff
checker: remove hack and enforce type checking 2020-04-07 03:27:06 +02:00
Major Taylor
f099f90f50
string: fix trim_right, add tests 2020-04-06 14:30:25 +02:00
ka-weihe
a30d292385
map: fix leaksfree fix (#4254) 2020-04-05 23:31:53 +02:00
ka-weihe
307daacf67
depgraph/map: fix memory bug 2020-04-05 22:09:52 +02:00
Alexey
781c20a6ae
cgen: bring back Windows fixes 2020-04-05 16:08:16 +02:00
Alexander Medvednikov
f748390172 parser: do no allow var names with __; cgen: use __argc 2020-04-04 14:55:40 +02:00
Alexander Medvednikov
440f1cf4c6 map: remove old get methods 2020-04-04 14:22:39 +02:00
Alexander Medvednikov
46aed151ab parser: snake_case check; array: mutable array test 2020-04-04 14:09:58 +02:00
Alexey
6c4de001b8
cgen: add builtin.init call inside of _vinit 2020-04-03 13:27:19 +02:00
Delyan Angelov
6b9bf8cbf7 v2: fixes for most of vlib/builtin/map_test.v . 2020-04-03 00:42:08 +03:00
Alexey
6309e699e5
builtin: add operator precedence test 2020-04-02 19:02:49 +02:00
Delyan Angelov
abf15e863c
v2: compile vrepl, 'fn main(){println(2+2)}' runs now
It works if you give it complete V programs like
fn main(){println(2+2)}
but not for single expressions like 2+2 or statements like a:='abc'
2020-04-02 19:21:12 +03:00
penguindark
83289d74a7
builtin: fix int to hex 2020-04-02 17:16:17 +02:00
Alexey
8c050eff07
msvc: add a workaround to fix backtrace (#4200) 2020-04-02 17:11:12 +02:00
Alexey
01aa2b86f5
array, map: cast voidptr to byteptr 2020-04-02 15:31:44 +02:00
Alexander Medvednikov
d4df916581 array: cast data to byteptr 2020-04-02 14:58:45 +02:00
Alexander Medvednikov
461a5b2c18 cgen: fix raw strings 2020-04-02 10:15:35 +02:00
Alexander Medvednikov
507f4ce87a array: handle "0" strings 2020-04-02 01:47:32 +02:00
Alexander Medvednikov
1cfe44d9c6 fix windows build 2020-04-02 01:15:00 +02:00
Alexander Medvednikov
f98cc9c017 cgen: fix ARR_LEN 2020-03-31 17:16:12 +02:00
Alexander Medvednikov
9d630dff30 allow slicing of fixed size arrays 2020-03-31 16:48:00 +02:00
Alexey
a333ac1888
all: remove redundant parentheses in if statements 2020-03-29 10:08:42 +02:00
joe-conigliaro
718819eb7a
map/scope/checker: update just var type & ret zero in map.get3 2020-03-29 00:00:28 +11:00
Alexey
cedf185b41
v2: fix Windows errors 2020-03-28 10:19:38 +01:00
Alexander Medvednikov
473d9fef55 checker: do not allow extra () in if conditions 2020-03-27 14:57:19 +01:00
Alexander Medvednikov
7fdce50718 cgen: write defer statements at the end of the function 2020-03-27 11:21:00 +01:00
Joe Conigliaro
fd8bb2c95c tests: small array/struct test notes & tmp fix 2020-03-27 20:47:24 +11:00
Alexander Medvednikov
db59c621e8 v2: minor fixes 2020-03-27 08:47:02 +01:00
Alexander Medvednikov
f0334b2e12 cgen: fix arr[i] *= x and 2d_arr << arr 2020-03-26 22:09:25 +01:00
Delyan Angelov
f489c89987
v2: more informative assert output; string interpolation formatting 2020-03-26 19:17:14 +01:00
Alexander Medvednikov
eb57f192d4 cgen: fix test 2020-03-26 17:21:52 +01:00
Alexander Medvednikov
75c2ef7947 cgen: fix octal and hex int literals 2020-03-26 17:14:24 +01:00
Alexander Medvednikov
ed3e0c43bc cgen: for c in string; short struct init syntax fixes; 2020-03-26 17:03:14 +01:00
Alexander Medvednikov
fc86269bc9 checker: array str fixes 2020-03-26 11:32:32 +01:00
Alexander Medvednikov
26fab9b274 cgen: fix mutable array args 2020-03-25 17:04:16 +01:00
Alexander Medvednikov
456750ac19 v2: array_test fixes 2020-03-25 14:24:48 +01:00
Alexander Medvednikov
b495e78f0e v2: add _vinit to tests' fn main 2020-03-25 00:17:39 +01:00
Alexander Medvednikov
437bba5566 cgen: generate fn main for tests; fix consts bug 2020-03-24 22:24:03 +01:00
Alexander Medvednikov
5d976d841b v2: raw strings 2020-03-24 17:07:27 +01:00
Alexander Medvednikov
32c8eb6490 os: vfmt os_test.v 2020-03-24 16:18:37 +01:00
Alexander Medvednikov
f101e9b9e2 v2: string fixes, is_dir fix 2020-03-24 11:14:11 +01:00
SleepyRoy
67ba56c65c
expression: set integer literals as int by default 2020-03-23 20:05:37 +01:00
Alexander Medvednikov
2e29e09b1b cgen: fix map_get: use zero value if the key was not found 2020-03-23 20:02:09 +01:00
Alexander Medvednikov
2738a0c776 cgen: backtrace and sigaction fixes 2020-03-22 14:47:45 +01:00
Joe Conigliaro
043ea80fa9 checker: comptime if expr/stmts & type check fixes 2020-03-22 23:36:27 +11:00
Alexander Medvednikov
e5f6a0949f cgen: autofree: first step 2020-03-21 19:52:19 +01:00
penguindark
421f5b6fdf
builtin: int to str without offset buffer 2020-03-21 16:00:58 +01:00
ka-weihe
bf97afb9ed
map: small cleanup 2020-03-21 13:55:07 +01:00
radare
cc75fe4fe5
builtin: Fix undefined behaviour when allocating empty structs (#4088) 2020-03-21 12:24:34 +01:00
Delyan Angelov
ba088056ed
solaris: make 'v test-compiler' pass (stage 2) 2020-03-21 09:48:02 +01:00
radare
c21e976cad
builtin: do not use unsafe sprintf/vsprintf functions 2020-03-21 06:37:58 +01:00
Alexander Medvednikov
4fac09bcb4 array: simplify reverse() memcpy call 2020-03-20 16:51:36 +01:00
SleepyRoy
f798a0937a
expression: set floats as f64 by default 2020-03-19 07:24:49 +01:00
Alexander Medvednikov
66639924a4 map: make compilable with V2 2020-03-19 07:05:20 +01:00
ka-weihe
bd0548548a
map: new memory layout and map.get2() 2020-03-19 06:52:34 +01:00
Alexander Medvednikov
ca0bae0fcd array: fix reverse() 2020-03-18 18:54:11 +01:00
Alexander Medvednikov
fe6707b26d cgen: minor fixes 2020-03-18 16:47:37 +01:00
Alexander Medvednikov
a011b8951a cgen: if/match expressions and other fixes 2020-03-18 08:41:49 +01:00
Major Taylor
e2eb0f17d7
string: separate strip_margin tests into different functions 2020-03-17 02:49:51 +01:00
yuyi
456c0250b0
string: fix strip_margin 2020-03-16 15:46:09 +01:00
Alexander Medvednikov
d39dd53998 string: bring back test_strip_margins 2020-03-16 15:45:54 +01:00
Joe Conigliaro
d456cc479c builtin: revert map to version before 35dd785 until bug is fixed 2020-03-16 23:01:31 +11:00
radare
5581b2bd3c
builtin: fix backtrace for OpenBSD and NetBSD 2020-03-16 12:10:58 +01:00
Alexander Medvednikov
98fc9ab65b string: disable strip_margins test for now 2020-03-15 23:21:32 +01:00
Major Taylor
8d19ba9195
string: strip_margin: fix the error message for multiple args 2020-03-15 07:49:37 +01:00
Major Taylor
2d5c7c8e93
string: add strip_margin 2020-03-15 05:46:12 +01:00
Delyan Angelov
9bcb7d115f
panic: restore printing of detailed stack backtraces on linux 2020-03-13 04:32:44 +01:00
Alexander Medvednikov
b43ac2783d map: make compilable with the new compiler 2020-03-12 20:26:29 +01:00
ka-weihe
35dd7855a0
map: new memory layout and optimizations 2020-03-12 19:36:05 +01:00
Joe Conigliaro
b750f1d1bb compiler: prerequisite changes for upcoming map update 2020-03-12 22:19:13 +11:00
Alexander Medvednikov
a182b5c531 cgen: more errors fixed 2020-03-11 23:22:40 +01:00
Alexander Medvednikov
e0c85f87ae cgen: args fixes 2020-03-11 21:11:27 +01:00
Delyan Angelov
de7fed45dc
builtin: implement []int.str() 2020-03-11 18:48:59 +01:00
Alexander Medvednikov
75db3e4416 cgen: fix ptr indexing 2020-03-11 05:25:15 +01:00
penguindark
630913d872
builtin: new str(), hex() functions without C.printf 2020-03-11 00:38:11 +01:00
Alexander Medvednikov
de55a26cfe cgen: lots of fixes 2020-03-10 23:21:29 +01:00
Alexander Medvednikov
e3687dc257 checker: check C args 2020-03-08 22:11:56 +01:00
yuyi
783dee1f48
os: merge with filepath 2020-03-07 22:26:26 +01:00
Alexander Medvednikov
63032c4bb7 cgen: minor fixes 2020-03-07 16:23:10 +01:00
Alexander Medvednikov
b0ece3a9d8
sync: implement pool.work_on_items to process a list of items in parallel 2020-03-04 20:28:42 +01:00
Alexander Medvednikov
cd8a5d1f2e fix parser_test.v and string_test.v 2020-03-04 17:39:27 +01:00
Alexander Medvednikov
f27f832ede cgen: definitions + other fixes; calloc fix 2020-03-04 17:08:28 +01:00
Hugo Locurcio
69f256b900
use LF line endings in examples/quick_sort.v 2020-03-03 14:41:05 +01:00
Delyan Angelov
615a4b3452
builtin: add V64_PRINTFORMAT (part 2) 2020-03-01 15:48:54 +01:00
Alexander Medvednikov
82b0024758 fix v2 parser int.v error 2020-03-01 14:57:54 +01:00
Nicolas Sauzede
becd87141c
fix linux warnings in generated C code 2020-03-01 13:26:09 +01:00
Alexey
cbffbf3438
array: reverse empty arrays correctly 2020-02-29 20:44:02 +01:00
Alexey
99cbc58db8
array: update array.repeat 2020-02-29 15:25:49 +01:00
Alexey
632a538eb3
string: update string.repeat behavior
Panic if a repeat count is negative.
Return an empty string if a repeat count is zero.
2020-02-29 15:25:31 +01:00
penguindark
39429f7ac9
atof: lots of fixes
* removed sprintf for f64 and f32 use

* removed all pointers from the code, used unions instead

* solved module name problem

* fixed tests on vlib/math

* fix for alpine-linux math test

* small fix on byte allocation for ftoa
2020-02-26 12:14:06 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
SleepyRoy
7d2eb4f604
scanner: make 0o prefix the only way to define octals 2020-02-23 23:43:04 +01:00
yuyi
adb1d3f8c9
scanner: enable 0oxx to handle octals 2020-02-23 12:33:07 +01:00
Alexander Medvednikov
e56bf42270 v2: xor, for x = ... 2020-02-20 21:28:08 +01:00
Alexey
c85ccad0a6
string: update check if a char is a space 2020-02-20 20:14:54 +01:00
Alexey
e4de1e1e89
string: add more test cases 2020-02-20 20:14:21 +01:00
Alexander Medvednikov
7705281459 map: use hashmap instead of b-tree 2020-02-20 20:05:06 +01:00
Alexander Medvednikov
f413b2fa49 Revert "map: use hashmap instead of b-tree"
This reverts commit 34d926350b.
2020-02-20 17:58:17 +01:00
ka-weihe
34d926350b
map: use hashmap instead of b-tree 2020-02-20 17:28:20 +01:00
yuyi
8be07194c7
string: fix capitalize 2020-02-20 11:33:38 +01:00
Alexander Medvednikov
ec3d67c19f checker: print multiple errors; none 2020-02-19 19:54:42 +01:00
yuyi
391da0ba07
string: optimize starts_with and ends_with 2020-02-19 15:18:09 +01:00
Alexander Medvednikov
082acfad49 v2: fix more ast positions 2020-02-19 11:31:33 +01:00
Alexander Medvednikov
19520ccf4e v2: for in checker 2020-02-18 21:59:42 +01:00
Alexander Medvednikov
c314ab7b60 fix cmdline_test.v 2020-02-18 20:31:15 +01:00
Alexander Medvednikov
31c1483b9d vfmt2: fn args, comments 2020-02-18 20:20:15 +01:00
Alexander Medvednikov
480af3f381 v2: checker fixes 2020-02-18 20:06:01 +01:00
prime31
a2838ae6f3
array: add array.trim() 2020-02-17 20:31:40 +01:00
Delyan Angelov
195f3f465b
option to disable bounds checking; examples/path_tracing.v: optimizations 2020-02-16 16:13:45 +01:00
Alexander Medvednikov
d9cf98f772 v2: imports 2020-02-12 01:16:38 +01:00
Alexander Medvednikov
0ec5680156 array: bring back reduce test 2020-02-11 13:22:22 +01:00
Alexander Medvednikov
17212f816c v2: high order functions 2020-02-11 13:21:41 +01:00
joe-conigliaro
e274c5c485 v2: type sys - store type idx/ptr in int & add helpers 2020-02-10 08:32:08 +01:00
Delyan Angelov
f76651604d
compiler: bugfix for raw'"' 2020-02-09 16:29:05 +01:00
Alexey
1eeee40278
string: split into lines correctly 2020-02-09 09:23:57 +01:00
Alexander Medvednikov
18c440c990 fix int_test.v 2020-02-07 22:16:14 +01:00
Alexander Medvednikov
d66bc24e7f remove as casts for basic types 2020-02-07 22:10:48 +01:00
Alexander Medvednikov
f782388148 v2: minor fixes 2020-02-07 21:29:28 +01:00
Alexander Medvednikov
0510bc7744 fix int.v 2020-02-07 14:57:48 +01:00
Alexander Medvednikov
9034b1fd08 v2: match cgen; use as for casting 2020-02-07 14:50:52 +01:00
Alexander Medvednikov
18a3961992 array.v: use as cast 2020-02-07 09:38:28 +01:00
Alexander Medvednikov
b23854b2ab array.v: fix the build 2020-02-07 09:22:52 +01:00
Alexander Medvednikov
f241945d70 v2: as cast 2020-02-07 09:19:45 +01:00
Alexander Medvednikov
bb60b3081f v2: parse builtin successfully 2020-02-07 07:34:18 +01:00
Alexander Medvednikov
06b5f43e48 builtin: remove unneeded casts 2020-02-05 11:22:24 +01:00
Alexander Medvednikov
2b433cdf64 v2: match, <<=, >>=, |=, ~, unsafe, map init 2020-02-05 10:00:14 +01:00
Alexander Medvednikov
c595c9eee1 builtin: bring back old hex() 2020-02-04 20:23:03 +01:00
Alexander Medvednikov
80daaff874 v2: scopes, or, in, hex 2020-02-04 17:44:39 +01:00
Alexander Medvednikov
9b60a50d07 v2: maps, <<, >>, method calls 2020-02-04 12:50:58 +01:00
joe-conigliaro
85e4e4cb40
v2: resolve unresolved call expression types & add test 2020-02-04 12:03:12 +01:00
Alexander Medvednikov
83f0c228e9 v2: parse builtin.v, cfns.v float.v 2020-02-04 09:54:15 +01:00
Alexander Medvednikov
432ee93916 v2: break, continue, for in fixes, fixed size array, | 2020-02-04 08:29:50 +01:00
Alexander Medvednikov
1ac7a95f9b fix array_test.v 2020-02-03 10:27:06 +01:00
Alexander Medvednikov
34e9eb32bb sum types: allow modification in match 2020-02-03 09:11:10 +01:00
Alexander Medvednikov
d87cb3f672 v2: consts, $if, attributes, globals, if/for type check, prefs 2020-02-03 07:03:32 +01:00
joe-conigliaro
7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Alexander Medvednikov
71653273f6 v2: range, *, function object 2020-02-02 14:32:12 +01:00
Alexander Medvednikov
9f4661391d v2: simplify the type system; an initial version of the V interpreter 2020-02-02 07:56:18 +01:00
ka-weihe
23dd6e2294
hashmap: optimization of rehashing 2020-01-31 02:29:35 +01:00
ka-weihe
a14a5fbf95
hashmap: change hash-function to wyhash and add benchmarks 2020-01-29 04:06:05 +01:00
joe-conigliaro
007baa2305
hash: add wyhash + benchmark, add fnv1a, add u64.hex() (#3584) 2020-01-28 23:43:09 +01:00
prime31
08d3401092 array: clear() 2020-01-27 22:31:48 +01:00
ka-weihe
31899eac2a hashmap: new load_factor and optimizations 2020-01-27 16:56:18 +01:00
Khairul Azhar Kasmiran
edc44993d1 string: add another test for split_nth() 2020-01-25 19:12:36 +01:00
ka-weihe
7d797090ff map: bring back b-tree 2020-01-24 20:13:59 +01:00
ka-weihe
6fd175d9be hashmap: new and fast hashmap with dynamic size 2020-01-24 20:13:17 +01:00
Delyan Angelov
219239eadc string.split_nth - return the rest of the string as the last value in the result array 2020-01-24 20:12:36 +01:00
Shun Sakai
c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
penguindark
da9b6394e8 0bxxxx binary literal support; _ in literals (1_000_000) 2020-01-23 03:28:25 +01:00
Alexander Medvednikov
0502a54a36 new gg/freetype modules with sokol/fontstash backends 2020-01-22 20:54:36 +01:00
Charles WANG
136c469ef7 array: more eq functions 2020-01-21 18:49:30 +01:00
Alexander Medvednikov
ab368bdc53
array: test arr << arr 2020-01-19 22:15:37 +01:00
Alexander Medvednikov
cf1fd6e950 array: fix arr << arr bug 2020-01-19 12:11:58 +00:00
Alexander Medvednikov
e1132156f5 make sqlite.DB public; make string.left/right private 2020-01-16 18:41:38 +01:00
Alexander Medvednikov
de3ad2b04f fix vweb tutorial project; clean up gg functions a bit 2020-01-15 22:17:45 +01:00
Swastik Baranwal
2741c0b211 string: new type conversion functions 2020-01-14 18:05:38 +01:00
Alexander Medvednikov
4c7df98ac9 make private struct warning an error 2020-01-12 19:59:57 +01:00
Alexander Medvednikov
b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
vitalyster
66a6fa163e windows: read console using ReadFile/ReadConsole (#3387) 2020-01-10 14:06:40 +01:00
vitalyster
8412c6f03f windows: println using WriteFile/WriteConsole 2020-01-09 22:47:13 +01:00
Alexander Medvednikov
e70ef5334a fix array copy; ci: test prebuilt Windows package 2020-01-08 11:33:09 +01:00
Alexander Medvednikov
e3275f6083 fix array_test.v 2020-01-08 10:27:20 +01:00
Alexander Medvednikov
3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
Alexander Medvednikov
d823d82207 array type fix; method registration 2020-01-07 13:10:09 +01:00
Alexander Medvednikov
706c6066d5 index expression 2020-01-07 12:18:13 +01:00
Alexander Medvednikov
48ea1153a5 for ;; syntax 2020-01-07 00:14:19 +01:00
Delyan Angelov
4c3df963fa v repl: fix println regression on linux 2020-01-05 22:49:09 +01:00
Delyan Angelov
8053175ead android: fix os.create and builtin 2020-01-05 20:13:35 +01:00
Alexander Medvednikov
3344111a03 minor fixes and cleaning up 2020-01-04 00:06:06 +01:00