Skip to content

Commit 6218c03

Browse files
authored
Single-parameter constructors should be explicit (#422)
1 parent 609ad4b commit 6218c03

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

cppwinrt/code_writers.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2777,7 +2777,8 @@ struct __declspec(empty_bases) produce_dispatch_to_overridable<T, D, %>
27772777
{
27782778
method_signature signature{ method };
27792779

2780-
w.write(" %(%);\n",
2780+
w.write(" %%(%);\n",
2781+
signature.params().size() == 1 ? "explicit " : "",
27812782
type_name,
27822783
bind<write_consume_params>(signature));
27832784
}
@@ -2791,7 +2792,8 @@ struct __declspec(empty_bases) produce_dispatch_to_overridable<T, D, %>
27912792
auto& params = signature.params();
27922793
params.resize(params.size() - 2);
27932794

2794-
w.write(" %(%);\n",
2795+
w.write(" %%(%);\n",
2796+
signature.params().size() == 1 ? "explicit " : "",
27952797
type_name,
27962798
bind<write_consume_params>(signature));
27972799
}

0 commit comments

Comments
 (0)