1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
This commit is contained in:
Alexander Medvednikov 2019-09-30 22:39:52 +03:00
parent fa7e0ce58a
commit 223032f0ce
2 changed files with 16 additions and 8 deletions

View File

@ -1,14 +1,24 @@
## V 0.1.21
*XX Sep 2019*
*30 Sep 2019*
- `none` keyword for optionals.
- Solaris support.
- All table lookup functions now use `none`.
- varargs: `fn foo(bar int, params ...string) {`
- Double quotes (`"`) can now also be used to denote strings.
- GitHub Actions CI in addition to Travis.
- `-compress` option. The V binary built with `-compress` is only ~90 KB!
- More memory management.
- "Unused variable" error is now a warning in non-production builds.
- Unused modules result in an error.
- "Unused variable/module" errors are now warnings in non-production builds.
- Duplicate methods with the same name can no longer be defined.
- Struct names must be capitalized, variable/function names must use snake_case.
- Error messages are now even nicer!
- Lots of fixes in automatic `.str()` method generation for structs and arrays.
- ~30% faster parser (files are no longer parsed separately for each pass).
- `_` is no longer a variable, but an actual syntax construct to skip unused values, like in Go.
- Multiple returns (`fn foo() (int, strnig) {`).
- `!` can now only be used with booleans.
## V 0.1.20

View File

@ -11,7 +11,7 @@ import (
)
const (
Version = '0.1.20'
Version = '0.1.21'
)
enum BuildMode {
@ -1066,7 +1066,7 @@ fn (v &V) test_v() {
vexe := os.executable()
parent_dir := os.dir(vexe)
if !os.dir_exists(parent_dir + '/vlib') {
println('run vlib/ is missing, it must be next to the V executable')
println('vlib/ is missing, it must be next to the V executable')
exit(1)
}
// Emily: pass args from the invocation to the test
@ -1108,7 +1108,7 @@ fn (v &V) test_v() {
println( tmark.total_message('running V tests') )
println('\nBuilding examples...')
examples := os.walk_ext('examples', '.v')
examples := os.walk_ext(parent_dir + '/examples', '.v')
mut bmark := benchmark.new_benchmark()
for relative_file in examples {
if relative_file.contains('vweb') {
@ -1137,9 +1137,7 @@ fn (v &V) test_v() {
}
bmark.stop()
println( bmark.total_message('building examples') )
v.test_vget()
if failed {
exit(1)
}