Open arnaudh opened 2 years ago
Maybe the same error as in https://github.com/invenia/KeyedDistributions.jl/issues/24?
Maybe the same error as in invenia/KeyedDistributions.jl#24?
Seems likely; this error also does not happen on Julia 1.7.
Changing https://github.com/JuliaStats/PDMats.jl/blob/15fecad14e700e024d359733d101c992707e981b/src/pdiagmat.jl#L4 to struct PDiagMat{T<:Real,V<:AbstractVector} <: AbstractMatrix{T}
fixes the issue for me.
I assume that 1.6 (but apparently not Julia 1.7) has a problem with the type-inference failures of first(map(...))
in https://github.com/invenia/KeyedDistributions.jl/blob/e0a72a014d97810e2b25e211644ff0e288064be0/src/KeyedDistributions.jl#L66. I don't know how and why this happens though, and why this would cause problems with the callable syntax but not with standard indexing (https://github.com/invenia/KeyedDistributions.jl/issues/24#issuecomment-975468737).
Maybe the same error as in invenia/KeyedDistributions.jl#24?
Ah yes, sorry I should have looked there beforehand.
It seems there are different subtle changes that can trigger the type-inference failure, but PDMats is not at fault given it can also happen without PDMats.
Feel free to close this issue.
PDMats is not at fault given it can also happen without PDMats.
Also the other (well, actually same) issue in KeyedDistributions is caused by the change of the type parameter in PDMats. I'd like to understand what's going on there and why it causes problems with Julia 1.6 since it is the correct and desired parameterization. However, maybe it would be easier to just apply the fix mentioned above - even though I think it should not be needed...
I'm not familiar with type inference so not sure what is going on, and whether this has more to do with
KeyedDistributions
than withPDMats
. However I wasn't seeing the error with PDMats 0.11.4, but now seeing it with 0.11.5.Here's my MWE below, happy to provide more information.
1.log 2.log 3.log
Here's the StackOverflowError during type inference (from 1.log, abriged with
...
for the 3 lines that get repeated for a while):