What is the right approach if I want (1) to use an inner constructor, which does some modification/normalization to the arguments, and (2) I want proper type parameter deduction from the arguments? Do I need to write a separate function or something?
I'm not even sure what's going on here (i.e., why it doesn't work with the inner constructor) – or how I could make it work with the outer constructor… immutable A{N} x::NTuple{N, Int} y::Int A(x, y) = new(x, y + 1) end #a = A((1, 2), 3) # Doesn't work a = A{2}((1, 2), 3) # Works (w/cumbersome param) println(a) abstract C immutable B{N} x::NTuple{N, Int} y::Int end #B(x, y) = B(x, y + 1) # Stack overflow... b = B((1, 2), 3) # Works (w/wrong answer) println(b) What am I doing wrong?