News for hackers. Stuff that matters.
Re:Impressions of Rust as a Swift Developer: Memory Management by ridiculous_fish on Wednesday March 11, 2020 @12:04PM (#22546905)
Swift arrays are value types, how would you modify the array from inside map?
Re:Impressions of Rust as a Swift Developer: Memory Management by benmmurphy on Saturday March 14, 2020 @08:21AM (#22574729)

    var x = [1, 2, 3];

    let y = x.map( { v -> Int in
      print("got \(v)")
      x.removeAll()
      return 1
    })

    print("x: \(x)")
    print("y: \(y)")


    got 1
    got 2
    got 3
    x: []
    y: [1, 1, 1]
I don't know much about swift but this shows the closure is able to mutate the Array. I guess value types are captured by reference by a closure.