--- source: src/parser/parser.rs expression: result --- Ok( [ Definition { mutable: false, name: Name( "init", ), expr: Func( Fn { args: [], body: Block( [ Return( Some( Record( { Label( "player", ): Record( { Label( "position", ): Record( { Label( "x", ): Value( Int( 10, ), ), Label( "y", ): Value( Int( 20, ), ), }, ), }, ), }, ), ), ), ], ), }, ), }, Definition { mutable: false, name: Name( "update", ), expr: Func( Fn { args: [ Arg { name: Name( "state", ), }, Arg { name: Name( "events", ), }, ], body: Block( [ Return( Some( Var( Name( "state2", ), ), ), ), ], ), }, ), }, Definition { mutable: false, name: Name( "draw", ), expr: Func( Fn { args: [ Arg { name: Name( "frame", ), }, Arg { name: Name( "state", ), }, ], body: Block( [ Expr( FunCall { func: Access { expr: Var( Name( "frame", ), ), field: Label( "clear", ), }, args: [ Value( Int( 0, ), ), Value( Int( 0, ), ), Value( Int( 0, ), ), ], }, ), ], ), }, ), }, Definition { mutable: false, name: Name( "migrate", ), expr: Func( Fn { args: [ Arg { name: Name( "state", ), }, ], body: Block( [ Return( Some( Record( { Label( "player", ): Record( { Label( "pos", ): Access { expr: Access { expr: Var( Name( "state", ), ), field: Label( "player", ), }, field: Label( "position", ), }, }, ), }, ), ), ), ], ), }, ), }, ], )