Skip to content

Commit 514fca2

Browse files
authored
Update composite.jl
1 parent 3e58b5b commit 514fca2

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

src/differentials/composite.jl

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,16 +77,6 @@ backing(x::Tuple) = x
7777
backing(x::NamedTuple) = x
7878
backing(x::Composite) = getfield(x, :backing)
7979

80-
function backing(x)::NamedTuple
81-
82-
83-
else
84-
!isstructtype(x) && throw(DomainError(x, "backing can only be use on composite types"))
85-
nfields = fieldcount(x)
86-
names = ntuple(ii->fieldname(x, ii), nfields)
87-
types = ntuple(ii->fieldtype(x, ii), nfields)
88-
89-
end
9080

9181
function backing(x::T)::NamedTuple where T
9282
# note: all computation outside the if @generated happens at runtime.
@@ -95,16 +85,16 @@ function backing(x::T)::NamedTuple where T
9585
if @generated
9686
!isstructtype(T) && throw(DomainError(T, "backing can only be use on composite types"))
9787
nfields = fieldcount(T)
98-
names = ntuple(ii->fieldname(T, ii), nfields)
99-
types = ntuple(ii->fieldtype(T, ii), nfields)
88+
names = fieldnames(T)
89+
types = fieldtypes(T)
10090

10191
vals = Expr(:tuple, ntuple(ii->:(getfield(x, $ii)), nfields)...)
10292
return :(NamedTuple{$names, Tuple{$(types...)}}($vals))
10393
else
10494
!isstructtype(T) && throw(DomainError(T, "backing can only be use on composite types"))
10595
nfields = fieldcount(T)
106-
names = ntuple(ii->fieldname(T, ii), nfields)
107-
types = ntuple(ii->fieldtype(T, ii), nfields)
96+
names = fieldnames(T)
97+
types = fieldtypes(T)
10898

10999
vals = ntuple(ii->getfield(x, ii), nfields)
110100
return NamedTuple{names, Tuple{types...}}(vals)

0 commit comments

Comments
 (0)