GMT.jl icon indicating copy to clipboard operation
GMT.jl copied to clipboard

Bit/Bool syntax in statplots.jl : "|" is not a unary operator

Open standarddeviant opened this issue 2 years ago • 2 comments

There's a bit of syntax that uses the . operator combined with the boolean || operator here: https://github.com/GenericMappingTools/GMT.jl/blob/master/src/statplots.jl#L385

This works on newer versions of Julia, but not older versions. For example, that kind of syntax produces an error on the current LTS release of Julia, 1.6.7.

I think this code: ind = ind_l .|| ind_h

Could be replaced with this code to in order to work in more places: ind = collect(ind_l .| ind_h)

For a quick example, try running this test script with different Julia versions:

a=[true, false, true];
print("a = $a, typeof(a) = $(typeof(a))");

b = [true, false, false];
print("b = $b, typeof(b) = $(typeof(b))");

c = a .| b;
print("c = $c, typeof(c) = $(typeof(c))");

d = collect(a .| b);
print("d = $d, typeof(d) = $(typeof(d))");

e = a .|| b;
print("e = $e, typeof(e) = $(typeof(e))");

standarddeviant avatar Jul 24 '23 19:07 standarddeviant

Sorry, not a good time for changes (will leave in vacations). But other things (don't remember which by memory) will not work in 1.6 as well.

joa-quim avatar Jul 25 '23 11:07 joa-quim

Sorry, forgot this but I'm afraid there is nothing we can do here. GMT.jl does not build with Julia1.6 anymore since the introduction of the GMT_jll artifact because a chain of dependencies.

joa-quim avatar Nov 07 '23 01:11 joa-quim