Multiple dispatch doesn't find the correct method using `Type`

The first issue (your bug): unsupported manipulation with UnionAll:

This is not documented and I don’t think it’s correct. How did you come to this implementation? What’s the required behavior?

The second issue (arguably a Julia bug): inheriting from an abstract type doesn’t (currently) propagate parameter constraints. So this:

Should rather be:

struct RSAPOMDP1{S<:RSAState,A<:RSAAction} <: RSAPOMDP{S,A} end

That affects the dispatch for statetype1 etc.

Julia issue on Github:

3 Likes