Skip to content

Commit 5ee571a

Browse files
authored
Merge pull request #346 from ztangent/fix-untraced-splicing
Fix splicing of generative functions in untraced calls
2 parents 605b1d8 + f9dcccb commit 5ee571a

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/dynamic/dynamic.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ end
8787
@inline traceat(state::GFUntracedState, dist::Distribution, args, key) =
8888
random(dist, args...)
8989

90+
@inline splice(state::GFUntracedState, gen_fn::DynamicDSLFunction, args::Tuple) =
91+
gen_fn(args...)
92+
9093
########################
9194
# trainable parameters #
9295
########################

test/dsl/dynamic_dsl.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ end
2828
@gen (grad) oneliner(x::Float64, (grad)(y::Float64=5.0)) = x+y
2929

3030
@test oneliner(5.0) == 10.0
31+
32+
@gen outer() = @trace(inner())
33+
@gen inner() = 5.0
34+
35+
@test outer() == 5.0
3136
end
3237

3338
@testset "return type" begin

0 commit comments

Comments
 (0)