@@ -72,7 +72,7 @@ function assert_hasfields(T, fnames)
7272end
7373
7474"""
75- setproperties(obj, patch)
75+ setproperties(obj, patch::NamedTuple )
7676
7777Return a copy of `obj` with attributes updates accoring to `patch`.
7878
@@ -111,15 +111,15 @@ S("A", 2, "cc")
111111# Overloading
112112
113113**WARNING** The signature `setproperties(obj::MyType; kw...)` should never be overloaded.
114- Instead `setproperties(obj::MyType, patch)` should be overloaded.
114+ Instead `setproperties(obj::MyType, patch::NamedTuple )` should be overloaded.
115115"""
116116function setproperties end
117117
118118function setproperties(obj; kw... )
119119 setproperties(obj, (;kw... ))
120120end
121121
122- @generated function setproperties(obj, patch)
122+ @generated function setproperties(obj, patch:: NamedTuple )
123123 assert_hasfields(obj, fieldnames(patch))
124124 args = map(fieldnames(obj)) do fn
125125 if fn in fieldnames(patch)
134134 )
135135end
136136
137- @generated function setproperties(obj:: NamedTuple , patch)
137+ @generated function setproperties(obj:: NamedTuple , patch:: NamedTuple )
138138 # this function is only generated to force the following check
139139 # at compile time
140140 assert_hasfields(obj, fieldnames(patch))
0 commit comments