File tree Expand file tree Collapse file tree 4 files changed +45
-1
lines changed Expand file tree Collapse file tree 4 files changed +45
-1
lines changed Original file line number Diff line number Diff line change @@ -728,7 +728,11 @@ fn (mut w Walker) expr(node_ ast.Expr) {
728728 } else if node.name in w.all_globals {
729729 w.mark_global_as_used (node.name)
730730 } else {
731- w.fn_by_name (node.name)
731+ if (node.kind == .variable && node.obj is ast.Var && node.obj.is_used
732+ && node.obj.typ != 0 && w.table.type_kind (node.obj.typ) == .function)
733+ || (node.kind == .unresolved && node.name.contains ('.' )) {
734+ w.fn_by_name (node.name)
735+ }
732736 }
733737 if ! w.uses_atomic && node.info is ast.IdentVar {
734738 w.uses_atomic = node.info.typ.has_flag (.atomic_f)
Original file line number Diff line number Diff line change 1+ struct Node {
2+ mut:
3+ value int
4+ prev ?&Node
5+ next ?&Node
6+ }
7+
8+ struct LinkedList {
9+ mut:
10+ length int
11+ head ?&Node
12+ }
13+
14+ pub fn (mut l LinkedList) push(value int) {
15+ mut new_node := &Node{
16+ value: value
17+ }
18+
19+ if mut head := l.head {
20+ for head.next != none {
21+ if mut head_next := head.next {
22+ head = head_next
23+ }
24+ }
25+ head.next = new_node
26+ new_node.prev = head
27+ } else {
28+ l.head = new_node
29+ }
30+ }
31+
32+ fn main() {
33+ mut list := LinkedList{
34+ length: 0
35+ head: none
36+ }
37+ list.push(1)
38+ list.push(2)
39+ list.push(3)
40+ }
You can’t perform that action at this time.
0 commit comments