Improve performance of setproperties
/getproperties
for structs with unions
#212
This run and associated checks have been archived and are scheduled for deletion.
Learn more about checks retention
Annotations
9 errors, 2 warnings, and 1 notice
Documentation:
docs/src/index.md#L65
doctest failure in src/index.md:65-72
```jldoctest tips
add3 = setproperties(add2; value=3)
add3(1)
# output
4
```
Subexpression:
add3 = setproperties(add2; value=3)
add3(1)
Evaluated output:
ERROR: ArgumentError: Failed to assign fields (:value,) to object with fields (:outputby, :value).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::Add{Returning, Int64}, patch::@NamedTuple{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::Add{Returning, Int64}, patch::@NamedTuple{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::Add{Returning, Int64}, patch::@NamedTuple{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] setproperties(obj::Add{Returning, Int64}; kw::@kwargs{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:132
[6] top-level scope
@ none:1
Expected output:
4
diff =
Warning: Diff output requires color.
4ERROR: ArgumentError: Failed to assign fields (:value,) to object with fields (:outputby, :value).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::Add{Returning, Int64}, patch::@NamedTuple{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::Add{Returning, Int64}, patch::@NamedTuple{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::Add{Returning, Int64}, patch::@NamedTuple{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] setproperties(obj::Add{Returning, Int64}; kw::@kwargs{value::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:132
[6] top-level scope
@ none:1
|
Documentation:
docs/src/index.md#L78
doctest failure in src/index.md:78-86
```jldoctest tips
add3! = setproperties(add3; outputby=Mutating())
add3!([0], 1)
# output
1-element Vector{Int64}:
4
```
Subexpression:
add3! = setproperties(add3; outputby=Mutating())
add3!([0], 1)
Evaluated output:
ERROR: UndefVarError: `add3` not defined
Stacktrace:
[1] top-level scope
@ none:1
Expected output:
1-element Vector{Int64}:
4
diff =
Warning: Diff output requires color.
1-element Vector{Int64}:
4ERROR: UndefVarError: `add3` not defined
Stacktrace:
[1] top-level scope
@ none:1
|
Documentation:
docs/src/index.md#L91
doctest failure in src/index.md:91-99
```jldoctest tips
using Setfield: @set
add3′ = @set add3!.outputby = Returning()
add3′ === add3
# output
true
```
Subexpression:
using Setfield: @set
add3′ = @set add3!.outputby = Returning()
add3′ === add3
Evaluated output:
ERROR: UndefVarError: `add3!` not defined
Stacktrace:
[1] top-level scope
@ ~/.julia/packages/Setfield/AS2xF/src/sugar.jl:196
Expected output:
true
diff =
Warning: Diff output requires color.
trueERROR: UndefVarError: `add3!` not defined
Stacktrace:
[1] top-level scope
@ ~/.julia/packages/Setfield/AS2xF/src/sugar.jl:196
|
Documentation:
docs/src/index.md#L108
doctest failure in src/index.md:108-123
```jldoctest tips
OutputBy(x) = typeof(x)
OutputBy(::Type{<:Add{O}}) where O = O()
using Setfield: Setfield, @lens
Setfield.set(add::Add, ::typeof(@lens OutputBy(_)), o::OutputBy) =
@set add.outputby = o
obj = (add=add3!,)
obj′ = @set OutputBy(obj.add) = Returning()
obj′ === (add=add3,)
# output
true
```
Subexpression:
OutputBy(x) = typeof(x)
OutputBy(::Type{<:Add{O}}) where O = O()
using Setfield: Setfield, @lens
Setfield.set(add::Add, ::typeof(@lens OutputBy(_)), o::OutputBy) =
@set add.outputby = o
obj = (add=add3!,)
obj′ = @set OutputBy(obj.add) = Returning()
obj′ === (add=add3,)
Evaluated output:
ERROR: UndefVarError: `add3!` not defined
Stacktrace:
[1] top-level scope
@ none:1
Expected output:
true
diff =
Warning: Diff output requires color.
trueERROR: UndefVarError: `add3!` not defined
Stacktrace:
[1] top-level scope
@ none:1
|
Documentation:
docs/src/index.md#L125
doctest failure in src/index.md:125-136
```jldoctest tips
Setfield.set(::Type{Add{O0, T}}, ::typeof(@lens OutputBy(_)), ::O1) where {O0, T, O1 <: OutputBy} =
Add{O1, T}
T1 = typeof(add3!)
T2 = @set OutputBy(T1) = Returning()
T2 <: Add{Returning}
# output
true
```
Subexpression:
Setfield.set(::Type{Add{O0, T}}, ::typeof(@lens OutputBy(_)), ::O1) where {O0, T, O1 <: OutputBy} =
Add{O1, T}
T1 = typeof(add3!)
T2 = @set OutputBy(T1) = Returning()
T2 <: Add{Returning}
Evaluated output:
ERROR: UndefVarError: `add3!` not defined
Stacktrace:
[1] top-level scope
@ none:1
Expected output:
true
diff =
Warning: Diff output requires color.
trueERROR: UndefVarError: `add3!` not defined
Stacktrace:
[1] top-level scope
@ none:1
|
Documentation:
src/ConstructionBase.jl#L1
doctest failure in ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl
```jldoctest
julia> using ConstructionBase
julia> struct S
a
b
c
end
julia> s = S(1,2,3)
S(1, 2, 3)
julia> setproperties(s, (a=10,c=4))
S(10, 2, 4)
julia> setproperties((a=1,c=2,b=3), (a=10,c=4))
(a = 10, c = 4, b = 3)
```
Subexpression:
setproperties(s, (a=10,c=4))
Evaluated output:
ERROR: ArgumentError: Failed to assign fields (:a, :c) to object with fields (:a, :b, :c).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::S, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::S, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::S, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] top-level scope
@ none:1
Expected output:
S(10, 2, 4)
diff =
Warning: Diff output requires color.
S(10, 2, 4)ERROR: ArgumentError: Failed to assign fields (:a, :c) to object with fields (:a, :b, :c).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::S, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::S, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::S, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] top-level scope
@ none:1
|
Documentation:
src/ConstructionBase.jl#L1
doctest failure in ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl
```jldoctest
julia> using ConstructionBase
julia> struct S
a
b
c
end
julia> s = S(1,2,3)
S(1, 2, 3)
julia> setproperties(s, (a=10,c=4))
S(10, 2, 4)
julia> setproperties((a=1,c=2,b=3), (a=10,c=4))
(a = 10, c = 4, b = 3)
```
Subexpression:
setproperties((a=1,c=2,b=3), (a=10,c=4))
Evaluated output:
ERROR: ArgumentError: Failed to assign fields (:a, :c) to object with fields (:a, :c, :b).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::@NamedTuple{a::Int64, c::Int64, b::Int64}, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::@NamedTuple{a::Int64, c::Int64, b::Int64}, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::@NamedTuple{a::Int64, c::Int64, b::Int64}, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] top-level scope
@ none:1
Expected output:
(a = 10, c = 4, b = 3)
diff =
Warning: Diff output requires color.
(a = 10, c = 4, b = 3)ERROR: ArgumentError: Failed to assign fields (:a, :c) to object with fields (:a, :c, :b).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::@NamedTuple{a::Int64, c::Int64, b::Int64}, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::@NamedTuple{a::Int64, c::Int64, b::Int64}, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::@NamedTuple{a::Int64, c::Int64, b::Int64}, patch::@NamedTuple{a::Int64, c::Int64})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] top-level scope
@ none:1
|
Documentation:
src/ConstructionBase.jl#L1
doctest failure in ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl
```jldoctest
julia> using ConstructionBase
julia> struct S
a
b
c
end
julia> o = S(10, 2, 4)
S(10, 2, 4)
julia> setproperties(o, a="A", c="cc")
S("A", 2, "cc")
```
Subexpression:
setproperties(o, a="A", c="cc")
Evaluated output:
ERROR: ArgumentError: Failed to assign fields (:a, :c) to object with fields (:a, :b, :c).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::S, patch::@NamedTuple{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::S, patch::@NamedTuple{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::S, patch::@NamedTuple{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] setproperties(obj::S; kw::@kwargs{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:132
[6] top-level scope
@ none:1
Expected output:
S("A", 2, "cc")
diff =
Warning: Diff output requires color.
S("A", 2, "cc")ERROR: ArgumentError: Failed to assign fields (:a, :c) to object with fields (:a, :b, :c).
Stacktrace:
[1] macro expansion
@ ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140 [inlined]
[2] check_patch_fields_exist(obj::S, patch::@NamedTuple{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:140
[3] setproperties_object(obj::S, patch::@NamedTuple{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:207
[4] setproperties(obj::S, patch::@NamedTuple{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:136
[5] setproperties(obj::S; kw::@kwargs{a::String, c::String})
@ ConstructionBase ~/work/ConstructionBase.jl/ConstructionBase.jl/src/ConstructionBase.jl:132
[6] top-level scope
@ none:1
|
Documentation
Process completed with exit code 1.
|
Documentation
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Documentation
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
[julia-buildpkg] Caching of the julia depot was not detected
Consider using `julia-actions/cache` to speed up runs https://github.com/julia-actions/cache. To ignore, set input `ignore-no-cache: true`
|