Skip to content

Commit ab684ce

Browse files
committed
Do some more cleanup
1 parent ffbfafc commit ab684ce

File tree

11 files changed

+76
-125
lines changed

11 files changed

+76
-125
lines changed

src/builtins.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ static jl_value_t *get_fieldtype(jl_value_t *t, jl_value_t *f, int dothrow)
897897
int nf = jl_svec_len(types);
898898
if (nf > 0 && field_index >= nf-1 && st->name == jl_tuple_typename) {
899899
jl_value_t *ft = jl_field_type(st, nf-1);
900-
if (jl_is_vararg_type(ft))
900+
if (jl_is_vararg_marker(ft))
901901
return jl_unwrap_vararg(ft);
902902
}
903903
if (field_index < 0 || field_index >= nf) {
@@ -972,7 +972,7 @@ static int valid_type_param(jl_value_t *v)
972972
}
973973
return 1;
974974
}
975-
if (jl_is_vararg_type(v))
975+
if (jl_is_vararg_marker(v))
976976
return 0;
977977
// TODO: maybe more things
978978
return jl_is_type(v) || jl_is_typevar(v) || jl_is_symbol(v) || jl_isbits(jl_typeof(v));
@@ -987,7 +987,7 @@ JL_CALLABLE(jl_f_apply_type)
987987
jl_value_t *pi = args[i];
988988
// TODO: should possibly only allow Types and TypeVars, but see
989989
// https://github.com/JuliaLang/julia/commit/85f45974a581ab9af955bac600b90d9ab00f093b#commitcomment-13041922
990-
if (jl_is_vararg_type(pi)) {
990+
if (jl_is_vararg_marker(pi)) {
991991
if (i != nargs-1)
992992
jl_type_error_rt("Tuple", "non-final parameter", (jl_value_t*)jl_type_type, pi);
993993
}
@@ -1129,9 +1129,9 @@ JL_CALLABLE(jl_f__expr)
11291129
// Typevar constructor for internal use
11301130
JL_DLLEXPORT jl_tvar_t *jl_new_typevar(jl_sym_t *name, jl_value_t *lb, jl_value_t *ub)
11311131
{
1132-
if ((lb != jl_bottom_type && !jl_is_type(lb) && !jl_is_typevar(lb)) || jl_is_vararg_type(lb))
1132+
if (lb != jl_bottom_type && !jl_is_type(lb) && !jl_is_typevar(lb))
11331133
jl_type_error_rt("TypeVar", "lower bound", (jl_value_t *)jl_type_type, lb);
1134-
if ((ub != (jl_value_t *)jl_any_type && !jl_is_type(ub) && !jl_is_typevar(ub)) || jl_is_vararg_type(ub))
1134+
if (ub != (jl_value_t *)jl_any_type && !jl_is_type(ub) && !jl_is_typevar(ub))
11351135
jl_type_error_rt("TypeVar", "upper bound", (jl_value_t *)jl_type_type, ub);
11361136
jl_ptls_t ptls = jl_get_ptls_states();
11371137
jl_tvar_t *tv = (jl_tvar_t *)jl_gc_alloc(ptls, sizeof(jl_tvar_t), jl_tvar_type);
@@ -1319,7 +1319,7 @@ JL_CALLABLE(jl_f__typebody)
13191319
size_t nf = jl_svec_len(ft);
13201320
for (size_t i = 0; i < nf; i++) {
13211321
jl_value_t *elt = jl_svecref(ft, i);
1322-
if ((!jl_is_type(elt) && !jl_is_typevar(elt)) || jl_is_vararg_type(elt)) {
1322+
if (!jl_is_type(elt) && !jl_is_typevar(elt)) {
13231323
jl_type_error_rt(jl_symbol_name(dt->name->name),
13241324
"type definition",
13251325
(jl_value_t*)jl_type_type, elt);

src/cgutils.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -737,13 +737,13 @@ static bool is_tupletype_homogeneous(jl_svec_t *t, bool allow_va = false)
737737
if (l > 0) {
738738
jl_value_t *t0 = jl_svecref(t, 0);
739739
if (!jl_is_concrete_type(t0)) {
740-
if (allow_va && jl_is_vararg_type(t0) &&
740+
if (allow_va && jl_is_vararg_marker(t0) &&
741741
jl_is_concrete_type(jl_unwrap_vararg(t0)))
742742
return true;
743743
return false;
744744
}
745745
for (i = 1; i < l; i++) {
746-
if (allow_va && i == l - 1 && jl_is_vararg_type(jl_svecref(t, i))) {
746+
if (allow_va && i == l - 1 && jl_is_vararg_marker(jl_svecref(t, i))) {
747747
if (t0 != jl_unwrap_vararg(jl_svecref(t, i)))
748748
return false;
749749
continue;

src/codegen.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ static bool type_has_unique_rep(jl_value_t *t)
265265
return true;
266266
if (jl_is_datatype(t)) {
267267
jl_datatype_t *dt = (jl_datatype_t*)t;
268-
if (dt->name != jl_tuple_typename && !jl_is_vararg_type(t)) {
268+
if (dt->name != jl_tuple_typename) {
269269
for (size_t i = 0; i < jl_nparams(dt); i++)
270270
if (!type_has_unique_rep(jl_tparam(dt, i)))
271271
return false;
@@ -1727,7 +1727,7 @@ static std::pair<bool, bool> uses_specsig(jl_method_instance_t *lam, jl_value_t
17271727
if (jl_nparams(sig) == 0)
17281728
return std::make_pair(false, false);
17291729
if (va) {
1730-
if (jl_is_vararg_type(jl_tparam(sig, jl_nparams(sig) - 1)))
1730+
if (jl_is_vararg_marker(jl_tparam(sig, jl_nparams(sig) - 1)))
17311731
return std::make_pair(false, false);
17321732
}
17331733
// not invalid, consider if specialized signature is worthwhile
@@ -2989,7 +2989,7 @@ static bool emit_builtin_call(jl_codectx_t &ctx, jl_cgval_t *ret, jl_value_t *f,
29892989
if (obj.ispointer()) {
29902990
// Determine which was the type that was homogenous
29912991
jl_value_t *jt = jl_tparam0(utt);
2992-
if (jl_is_vararg_type(jt))
2992+
if (jl_is_vararg_marker(jt))
29932993
jt = jl_unwrap_vararg(jt);
29942994
Value *vidx = emit_unbox(ctx, T_size, fld, (jl_value_t*)jl_long_type);
29952995
// This is not necessary for correctness, but allows to omit
@@ -5248,7 +5248,7 @@ static jl_cgval_t emit_cfunction(jl_codectx_t &ctx, jl_value_t *output_type, con
52485248

52495249
// some sanity checking and check whether there's a vararg
52505250
size_t nargt = jl_svec_len(argt);
5251-
bool isVa = (nargt > 0 && jl_is_vararg_type(jl_svecref(argt, nargt - 1)));
5251+
bool isVa = (nargt > 0 && jl_is_vararg_marker(jl_svecref(argt, nargt - 1)));
52525252
if (isVa) {
52535253
emit_error(ctx, "cfunction: Vararg syntax not allowed for argument list");
52545254
return jl_cgval_t();

src/dump.c

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -567,11 +567,6 @@ static void jl_serialize_value_(jl_serializer_state *s, jl_value_t *v, int as_li
567567
jl_serialize_value(s, ((jl_tvar_t*)v)->lb);
568568
jl_serialize_value(s, ((jl_tvar_t*)v)->ub);
569569
}
570-
else if (jl_is_vararg_marker(v)) {
571-
write_uint8(s->s, TAG_VARARG);
572-
jl_serialize_value(s, ((jl_vararg_marker_t*)v)->T);
573-
jl_serialize_value(s, ((jl_vararg_marker_t*)v)->N);
574-
}
575570
else if (jl_is_method(v)) {
576571
write_uint8(s->s, TAG_METHOD);
577572
jl_method_t *m = (jl_method_t*)v;
@@ -1752,15 +1747,6 @@ static jl_value_t *jl_deserialize_value(jl_serializer_state *s, jl_value_t **loc
17521747
tv->ub = jl_deserialize_value(s, &tv->ub);
17531748
jl_gc_wb(tv, tv->ub);
17541749
return (jl_value_t*)tv;
1755-
case TAG_VARARG:
1756-
v = jl_gc_alloc(s->ptls, sizeof(jl_vararg_marker_t), jl_vararg_marker_type);
1757-
jl_vararg_marker_t *vm = (jl_vararg_marker_t*)v;
1758-
arraylist_push(&backref_list, vm);
1759-
vm->T = (jl_sym_t*)jl_deserialize_value(s, NULL);
1760-
jl_gc_wb(vm, vm->T);
1761-
vm->N = jl_deserialize_value(s, &vm->N);
1762-
jl_gc_wb(vm, vm->N);
1763-
return (jl_value_t*)vm;
17641750
case TAG_METHOD:
17651751
return jl_deserialize_value_method(s, loc);
17661752
case TAG_METHOD_INSTANCE:
@@ -2644,7 +2630,6 @@ void jl_init_serializer(void)
26442630
deser_tag[TAG_GOTOIFNOT] = (jl_value_t*)jl_gotoifnot_type;
26452631
deser_tag[TAG_RETURNNODE] = (jl_value_t*)jl_returnnode_type;
26462632
deser_tag[TAG_ARGUMENT] = (jl_value_t*)jl_argument_type;
2647-
deser_tag[TAG_VARARG] = (jl_value_t*)jl_vararg_marker_type;
26482633

26492634
intptr_t i = 0;
26502635
while (vals[i] != NULL) {

src/gf.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ jl_value_t *jl_nth_slot_type(jl_value_t *sig, size_t i) JL_NOTSAFEPOINT
534534
return NULL;
535535
if (i < len-1)
536536
return jl_tparam(sig, i);
537-
if (jl_is_vararg_type(jl_tparam(sig, len-1)))
537+
if (jl_is_vararg_marker(jl_tparam(sig, len-1)))
538538
return jl_unwrap_vararg(jl_tparam(sig, len-1));
539539
if (i == len-1)
540540
return jl_tparam(sig, i);
@@ -756,7 +756,7 @@ static void jl_compilation_sig(
756756
else {
757757
jl_value_t *unw = jl_unwrap_unionall(decl);
758758
jl_value_t *lastdeclt = jl_tparam(unw, nargs - 1);
759-
assert(jl_is_vararg_type(lastdeclt) && jl_nparams(unw) == nargs);
759+
assert(jl_is_vararg_marker(lastdeclt) && jl_nparams(unw) == nargs);
760760
int nsp = jl_svec_len(sparams);
761761
if (nsp > 0 && jl_has_free_typevars(lastdeclt)) {
762762
assert(jl_subtype_env_size(decl) == nsp);
@@ -817,7 +817,7 @@ JL_DLLEXPORT int jl_isa_compileable_sig(
817817
nspec_max = nspec_min;
818818
}
819819
int isbound = (jl_va_tuple_kind((jl_datatype_t*)decl) == JL_VARARG_UNBOUND);
820-
if (jl_is_vararg_type(jl_tparam(type, np - 1))) {
820+
if (jl_is_vararg_marker(jl_tparam(type, np - 1))) {
821821
if (!isbound || np < nspec_min || np > nspec_max)
822822
return 0;
823823
}
@@ -826,7 +826,7 @@ JL_DLLEXPORT int jl_isa_compileable_sig(
826826
return 0;
827827
}
828828
}
829-
else if (np != nargs || jl_is_vararg_type(jl_tparam(type, np - 1))) {
829+
else if (np != nargs || jl_is_vararg_marker(jl_tparam(type, np - 1))) {
830830
return 0;
831831
}
832832

@@ -835,7 +835,7 @@ JL_DLLEXPORT int jl_isa_compileable_sig(
835835
jl_value_t *decl_i = jl_nth_slot_type((jl_value_t*)decl, i);
836836
size_t i_arg = (i < nargs - 1 ? i : nargs - 1);
837837

838-
if (jl_is_vararg_type(elt)) {
838+
if (jl_is_vararg_marker(elt)) {
839839
elt = jl_unwrap_vararg(elt);
840840
if (jl_has_free_typevars(decl_i)) {
841841
// TODO: in this case, answer semi-conservatively that these varargs are always compilable
@@ -959,7 +959,7 @@ static int concretesig_equal(jl_value_t *tt, jl_value_t *simplesig) JL_NOTSAFEPO
959959
jl_value_t **sigs = jl_svec_data(((jl_datatype_t*)simplesig)->parameters);
960960
size_t i, lensig = jl_nparams(simplesig);
961961
assert(lensig == jl_nparams(tt));
962-
assert(lensig > 0 && !jl_is_vararg_type(jl_tparam(simplesig, lensig - 1)));
962+
assert(lensig > 0 && !jl_is_vararg_marker(jl_tparam(simplesig, lensig - 1)));
963963
for (i = 0; i < lensig; i++) {
964964
jl_value_t *decl = sigs[i];
965965
jl_value_t *a = types[i];
@@ -1108,7 +1108,7 @@ static jl_method_instance_t *cache_method(
11081108
newparams = NULL;
11091109
for (i = 0; i < np; i++) {
11101110
jl_value_t *elt = jl_svecref(cachett->parameters, i);
1111-
if (jl_is_vararg_type(elt)) {
1111+
if (jl_is_vararg_marker(elt)) {
11121112
}
11131113
else if (jl_is_type_type(elt)) {
11141114
// TODO: if (!jl_is_singleton(elt)) ...
@@ -1229,7 +1229,7 @@ static jl_value_t *get_intersect_matches(jl_typemap_t *defs, jl_typemap_entry_t
12291229
jl_value_t *va = NULL;
12301230
if (l > 0) {
12311231
va = jl_tparam(ttypes, l - 1);
1232-
if (jl_is_vararg_type(va))
1232+
if (jl_is_vararg_marker(va))
12331233
va = jl_unwrap_vararg(va);
12341234
else
12351235
va = NULL;
@@ -2635,7 +2635,7 @@ static jl_value_t *ml_matches(jl_methtable_t *mt, int offs,
26352635
jl_value_t *va = NULL;
26362636
if (l > 0) {
26372637
va = jl_tparam(unw, l - 1);
2638-
if (jl_is_vararg_type(va))
2638+
if (jl_is_vararg_marker(va))
26392639
va = jl_unwrap_vararg(va);
26402640
else
26412641
va = NULL;
@@ -3088,7 +3088,7 @@ int jl_has_concrete_subtype(jl_value_t *typ)
30883088
if (typ == jl_bottom_type)
30893089
return 0;
30903090
typ = jl_unwrap_unionall(typ);
3091-
if (jl_is_vararg_type(typ))
3091+
if (jl_is_vararg_marker(typ))
30923092
typ = jl_unwrap_vararg(typ);
30933093
if (!jl_is_datatype(typ))
30943094
return 1;

src/jltypes.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ JL_DLLEXPORT jl_value_t *jl_type_union(jl_value_t **ts, size_t n)
497497
size_t i;
498498
for(i=0; i < n; i++) {
499499
jl_value_t *pi = ts[i];
500-
if (!(jl_is_type(pi) || jl_is_typevar(pi)) || jl_is_vararg_type(pi))
500+
if (!(jl_is_type(pi) || jl_is_typevar(pi)))
501501
jl_type_error("Union", (jl_value_t*)jl_type_type, pi);
502502
}
503503
if (n == 1) return ts[0];
@@ -1109,7 +1109,7 @@ static unsigned type_hash(jl_value_t *kj, int *failed) JL_NOTSAFEPOINT
11091109
return 0;
11101110
}
11111111
jl_vararg_marker_t *vm = (jl_vararg_marker_t *)uw;
1112-
return bitmix(type_hash(vm->T ? vm->T : jl_any_type, failed), vm->N ? type_hash(vm->N, failed) : 0);
1112+
return bitmix(type_hash(vm->T ? vm->T : (jl_value_t*)jl_any_type, failed), vm->N ? type_hash(vm->N, failed) : 0);
11131113
}
11141114
else if (jl_is_uniontype(uw)) {
11151115
if (!*failed) {
@@ -1257,7 +1257,7 @@ static jl_value_t *inst_datatype_inner(jl_datatype_t *dt, jl_svec_t *p, jl_value
12571257
continue;
12581258
if (jl_is_datatype(pi))
12591259
continue;
1260-
if (jl_is_vararg_type(pi)) {
1260+
if (jl_is_vararg_marker(pi)) {
12611261
pi = jl_unwrap_vararg(pi);
12621262
if (jl_has_free_typevars(pi))
12631263
continue;
@@ -1268,7 +1268,7 @@ static jl_value_t *inst_datatype_inner(jl_datatype_t *dt, jl_svec_t *p, jl_value
12681268
jl_types_equal(pi, tw)) {
12691269
// This would require some special handling, but is never used at
12701270
// the moment.
1271-
assert(!jl_is_vararg_type(iparams[i]));
1271+
assert(!jl_is_vararg_marker(iparams[i]));
12721272
iparams[i] = tw;
12731273
if (p) jl_gc_wb(p, tw);
12741274
}
@@ -1295,7 +1295,7 @@ static jl_value_t *inst_datatype_inner(jl_datatype_t *dt, jl_svec_t *p, jl_value
12951295
JL_GC_PUSH3(&p, &ndt, &last);
12961296

12971297
int isvatuple = 0;
1298-
if (istuple && ntp > 0 && jl_is_vararg_type(last)) {
1298+
if (istuple && ntp > 0 && jl_is_vararg_marker(last)) {
12991299
isvatuple = 1;
13001300
// normalize Tuple{..., Vararg{Int, 3}} to Tuple{..., Int, Int, Int}
13011301
jl_value_t *va = jl_unwrap_unionall(last);
@@ -1661,7 +1661,7 @@ static jl_value_t *inst_type_w_(jl_value_t *t, jl_typeenv_t *env, jl_typestack_t
16611661
N = inst_type_w_(v->N, env, stack, check);
16621662
}
16631663
if (T != v->T || N != v->N) {
1664-
t = jl_wrap_vararg(T, N);
1664+
t = (jl_value_t*)jl_wrap_vararg(T, N);
16651665
}
16661666
JL_GC_POP();
16671667
return t;
@@ -1752,7 +1752,7 @@ jl_vararg_marker_t *jl_wrap_vararg(jl_value_t *t, jl_value_t *n)
17521752
}
17531753
}
17541754
jl_ptls_t ptls = jl_get_ptls_states();
1755-
jl_vararg_marker_t *vm = jl_gc_alloc(ptls, sizeof(jl_vararg_marker_t), jl_vararg_marker_type);
1755+
jl_vararg_marker_t *vm = (jl_vararg_marker_t *)jl_gc_alloc(ptls, sizeof(jl_vararg_marker_t), jl_vararg_marker_type);
17561756
vm->T = t;
17571757
vm->N = n;
17581758
return vm;
@@ -2124,7 +2124,7 @@ void jl_init_types(void) JL_GC_DISABLED
21242124
jl_function_type->name->mt = NULL; // subtypes of Function have independent method tables
21252125
jl_builtin_type->name->mt = NULL; // so they don't share the Any type table
21262126

2127-
jl_tvar_t *tv = jl_svec2(tvar("T"), tvar("N"));
2127+
jl_svec_t *tv = jl_svec2(tvar("T"), tvar("N"));
21282128
jl_abstractarray_type = (jl_unionall_t*)
21292129
jl_new_abstracttype((jl_value_t*)jl_symbol("AbstractArray"), core,
21302130
jl_any_type, tv)->name->wrapper;

src/julia_internal.h

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -533,31 +533,20 @@ STATIC_INLINE int jl_is_vararg_marker(jl_value_t *v) JL_NOTSAFEPOINT
533533
return jl_typeof(v) == (jl_value_t*)jl_vararg_marker_type;
534534
}
535535

536-
STATIC_INLINE int jl_is_vararg_type(jl_value_t *v) JL_NOTSAFEPOINT
536+
STATIC_INLINE jl_value_t *jl_unwrap_vararg(jl_vararg_marker_t *v JL_PROPAGATES_ROOT) JL_NOTSAFEPOINT
537537
{
538-
return jl_is_vararg_marker(jl_unwrap_unionall(v));
538+
assert(jl_is_vararg_marker((jl_value_t*)v));
539+
jl_value_t *T = ((jl_vararg_marker_t*)v)->T;
540+
return T ? T : (jl_value_t*)jl_any_type;
539541
}
542+
#define jl_unwrap_vararg(v) (jl_unwrap_vararg)((jl_vararg_marker_t *)v)
540543

541-
STATIC_INLINE jl_value_t *jl_unwrap_vararg(jl_value_t *v JL_PROPAGATES_ROOT) JL_NOTSAFEPOINT
544+
STATIC_INLINE jl_value_t *jl_unwrap_vararg_num(jl_vararg_marker_t *v JL_PROPAGATES_ROOT) JL_NOTSAFEPOINT
542545
{
543-
assert(jl_is_vararg_type(v));
544-
v = jl_unwrap_unionall(v);
545-
if (jl_is_vararg_marker(v)) {
546-
jl_value_t *T = ((jl_vararg_marker_t*)v)->T;
547-
return T ? T : (jl_value_t*)jl_any_type;
548-
}
549-
return jl_tparam0(v);
550-
}
551-
552-
STATIC_INLINE jl_value_t *jl_unwrap_vararg_num(jl_value_t *v JL_PROPAGATES_ROOT) JL_NOTSAFEPOINT
553-
{
554-
assert(jl_is_vararg_type(v));
555-
v = jl_unwrap_unionall(v);
556-
if (jl_is_vararg_marker(v)) {
557-
return ((jl_vararg_marker_t*)v)->N;
558-
}
559-
return jl_tparam1(v);
546+
assert(jl_is_vararg_marker((jl_value_t*)v));
547+
return ((jl_vararg_marker_t*)v)->N;
560548
}
549+
#define jl_unwrap_vararg_num(v) (jl_unwrap_vararg_num)((jl_vararg_marker_t *)v)
561550

562551
STATIC_INLINE jl_vararg_kind_t jl_vararg_kind(jl_value_t *v) JL_NOTSAFEPOINT
563552
{
@@ -575,12 +564,12 @@ STATIC_INLINE int jl_is_va_tuple(jl_datatype_t *t) JL_NOTSAFEPOINT
575564
{
576565
assert(jl_is_tuple_type(t));
577566
size_t l = jl_svec_len(t->parameters);
578-
return (l>0 && jl_is_vararg_type(jl_tparam(t,l-1)));
567+
return (l>0 && jl_is_vararg_marker(jl_tparam(t,l-1)));
579568
}
580569

581570
STATIC_INLINE size_t jl_vararg_length(jl_value_t *v) JL_NOTSAFEPOINT
582571
{
583-
assert(jl_is_vararg_type(v));
572+
assert(jl_is_vararg_marker(v));
584573
jl_value_t *len = jl_unwrap_vararg_num(v);
585574
assert(jl_is_long(len));
586575
return jl_unbox_long(len);

src/method.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ JL_DLLEXPORT void jl_method_def(jl_svec_t *argdata,
710710
jl_svec_t *tvars = (jl_svec_t*)jl_svecref(argdata, 1);
711711
jl_value_t *functionloc = jl_svecref(argdata, 2);
712712
size_t nargs = jl_svec_len(atypes);
713-
int isva = jl_is_vararg_type(jl_svecref(atypes, nargs - 1));
713+
int isva = jl_is_vararg_marker(jl_svecref(atypes, nargs - 1));
714714
assert(jl_is_svec(atypes));
715715
assert(nargs > 0);
716716
assert(jl_is_svec(tvars));
@@ -779,7 +779,7 @@ JL_DLLEXPORT void jl_method_def(jl_svec_t *argdata,
779779

780780
for (i = 0; i < na; i++) {
781781
jl_value_t *elt = jl_svecref(atypes, i);
782-
if (!jl_is_type(elt) && !jl_is_typevar(elt) && !jl_is_vararg_type(elt)) {
782+
if (!jl_is_type(elt) && !jl_is_typevar(elt) && !jl_is_vararg_marker(elt)) {
783783
jl_sym_t *argname = (jl_sym_t*)jl_array_ptr_ref(f->slotnames, i);
784784
if (argname == unused_sym)
785785
jl_exceptionf(jl_argumenterror_type,
@@ -796,7 +796,7 @@ JL_DLLEXPORT void jl_method_def(jl_svec_t *argdata,
796796
jl_symbol_name(m->file),
797797
m->line);
798798
}
799-
if (jl_is_vararg_type(elt) && i < na-1)
799+
if (jl_is_vararg_marker(elt) && i < na-1)
800800
jl_exceptionf(jl_argumenterror_type,
801801
"Vararg on non-final argument in method definition for %s at %s:%d",
802802
jl_symbol_name(name),

src/rtutils.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1135,7 +1135,7 @@ JL_DLLEXPORT size_t jl_static_show_func_sig(JL_STREAM *s, jl_value_t *type) JL_N
11351135
n += jl_printf(s, ", ");
11361136
}
11371137
else {
1138-
if (jl_is_vararg_type(tp)) {
1138+
if (jl_is_vararg_marker(tp)) {
11391139
n += jl_static_show(s, jl_unwrap_vararg(tp));
11401140
n += jl_printf(s, "...");
11411141
}

0 commit comments

Comments
 (0)