V 0.1.21
parent
fa7e0ce58a
commit
223032f0ce
16
CHANGELOG.md
16
CHANGELOG.md
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue