parser: short struct syntax for all structs

pull/3772/head
Alexander Medvednikov 2020-02-18 16:25:09 +01:00
parent 67756c53dc
commit 4de8d3ae8c
2 changed files with 5 additions and 3 deletions

View File

@ -925,9 +925,6 @@ fn (p mut Parser) factor() string {
}
peek2 := p.tokens[p.token_idx + 1]
if p.peek() == .rcbr || (p.peek() == .name && peek2.tok == .colon) {
if !p.expected_type.ends_with('Config') {
p.error('short struct initialization syntax only works with structs that end with `Config`')
}
return p.struct_init(p.expected_type)
}
// { user | name :'new name' }

View File

@ -203,9 +203,14 @@ struct Config {
fn foo_config(c Config) {
}
fn foo2(u User) {
}
fn test_config() {
foo_config({n: 10, def: 20})
foo_config({})
foo2({name:'Peter'})
}