What lowers to hvcat(::Int, ...)?

I am curious what syntax lowers to hvcat(::Int, ...).

Everything I tried lowers into the hvcat(::Tuple{Vararg{Int}}, ...) form. An example would be useful.

What makes you think something does? And why are you curious? I think it might be vestigial.

I was assuming that it had a purpose but could not figure it out from reading the code.

In that case, would it make sense to remove it?

(It may look innocuous, but if the user follows the docstring of hvcat and defines a method for that, that is wasted effort).

But it’s also an exported and documented function that anyone can manually call, whether it’s generated by some literal syntax or not. And folks do.

Removing that has a nonzero cost, too.

1 Like

Thanks for looking into examples, indeed it is used so removing it would not be a good idea.

A PR could just clarify that lowering is always to the other form. I did not open a new issue for this, but added a note to