Is there a way to prevent automatic conversion/promotion between Bool and 
Number types?

Motivating examples:

type Bools
  a::Bool
  b::Bool
end

Bools(1, 0) #=> Bools(true,false)

type Ints
  a::Int64
  b::Int64
end

Ints(true, false) #=> Ints(1,0)

In both of the above cases, I want the construction to fail.

I'm aware that I could write constructors for these types to explicitly 
reject Bool<->Number mismatch, but that gets tedious when there are more 
than a few Number or Bool fields in a type. Wondering if there's an easier 
way.

Reply via email to