Ensure correct type parameter of serialized RemoteChannel#179
Ensure correct type parameter of serialized RemoteChannel#179DilumAluthge merged 1 commit intomasterfrom
Conversation
When serializing RemoteChannels, a new zeroed RemoteChannel is constructed. However, the input type parameter might be part of an outer type parameter which can then lead to a TypeError during deserialization. The fix is just to reuse the type parameter of the input when constructing the zeroed RemoteChannel.
303e2fe to
594f289
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #179 +/- ##
=======================================
Coverage 79.34% 79.34%
=======================================
Files 10 10
Lines 1951 1951
=======================================
Hits 1548 1548
Misses 403 403 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I'll take a closer look tomorrow. The source code change looks okay.
|
|
Serialize works recursively so it will still call |
|
Ah, okay, in that case the changes to the tests sound fine. I'll take one last look later today, and then I'll approve and merge. |
|
@JamesWrigley Are you good with me merging this? |
|
This will land on Julia master in JuliaLang/julia#61073 |
This is a forward-port of JuliaLang/Distributed.jl#179 (JuliaLang/Distributed.jl@6649a94). When serializing RemoteChannels, a new zeroed RemoteChannel is constructed. However, the input type parameter might be part of an outer type parameter which can then lead to a TypeError during deserialization. The fix is just to reuse the type parameter of the input when constructing the zeroed RemoteChannel. (cherry picked from commit 6649a94075ff6a52ee9558db3ec4491496bf1bea)
This is a forward-port of JuliaLang/Distributed.jl#179 (JuliaLang/Distributed.jl@6649a94). When serializing RemoteChannels, a new zeroed RemoteChannel is constructed. However, the input type parameter might be part of an outer type parameter which can then lead to a TypeError during deserialization. The fix is just to reuse the type parameter of the input when constructing the zeroed RemoteChannel. (cherry picked from commit 6649a94075ff6a52ee9558db3ec4491496bf1bea)
This is a forward-port of JuliaLang/Distributed.jl#179 (JuliaLang/Distributed.jl@6649a94). When serializing RemoteChannels, a new zeroed RemoteChannel is constructed. However, the input type parameter might be part of an outer type parameter which can then lead to a TypeError during deserialization. The fix is just to reuse the type parameter of the input when constructing the zeroed RemoteChannel. (cherry picked from commit 6649a94075ff6a52ee9558db3ec4491496bf1bea) (cherry picked from commit 2e52996)
This is a forward-port of JuliaLang/Distributed.jl#179 (JuliaLang/Distributed.jl@6649a94). When serializing RemoteChannels, a new zeroed RemoteChannel is constructed. However, the input type parameter might be part of an outer type parameter which can then lead to a TypeError during deserialization. The fix is just to reuse the type parameter of the input when constructing the zeroed RemoteChannel. (cherry picked from commit 6649a94075ff6a52ee9558db3ec4491496bf1bea) (cherry picked from commit 2e52996)
When serializing RemoteChannels, a new zeroed RemoteChannel is constructed. However, the input type parameter might be part of an outer type parameter which can then lead to a TypeError during deserialization. The fix is just to reuse the type parameter of the input when constructing the zeroed RemoteChannel.
Fixes #178