Skip to content

Changed meaning of .+= in Julia 0.5 #132

@stevengj

Description

@stevengj

Your code uses x .+= y, so you should know that in Julia 0.5 this has changed meaning to be equivalent to broadcast!(identity, x, x .+ y), so that it mutates the x array (see JuliaLang/julia#17510 … in Julia 0.6 the whole operation will occur in-place without temporaries). So .+ should only be used if the left-hand side is a mutable array, and you don't mind mutating it.

At first glance, this seems like a problem for you, because you use y .+= μ / (1 - ρ) where y is a LinSpace object, which is immutable. You can change it to += to avoid trying to mutate y. (However, the code is type-unstable in any case because y changes types, so you might want to use a new variable.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions