Skip to content

Commit 0a13eae

Browse files
committed
Reinstate that all constructors are explicit by default, closes #450
1 parent e0a6c34 commit 0a13eae

File tree

6 files changed

+5
-6
lines changed

6 files changed

+5
-6
lines changed

regression-tests/test-results/pure2-types-basics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class myclass {
3838

3939

4040
#line 20 "pure2-types-basics.cpp2"
41-
public: myclass(cpp2::in<int> x, cpp2::in<std::string> s);
41+
public: explicit myclass(cpp2::in<int> x, cpp2::in<std::string> s);
4242

4343

4444
#line 27 "pure2-types-basics.cpp2"

regression-tests/test-results/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
cppfront compiler v0.2.1 Build 8617:0920
2+
cppfront compiler v0.2.1 Build 8618:1005
33
Copyright(c) Herb Sutter All rights reserved
44

55
SPDX-License-Identifier: CC-BY-NC-ND-4.0

source/build.info

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"8617:0920"
1+
"8618:1005"

source/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ auto contains(
507507
)
508508
-> bool
509509
{
510-
return s.find(value);
510+
return s.find(value) != s.npos;
511511
}
512512

513513

source/cppfront.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5373,7 +5373,6 @@ class cppfront
53735373
break;default:
53745374
if (
53755375
func->is_constructor()
5376-
&& (func->is_default_constructor() || func->parameters->ssize() == 2)
53775376
&& !func->is_constructor_with_that()
53785377
&& generating_assignment_from != &n
53795378
)

source/sema.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1067,7 +1067,7 @@ class sema
10671067
{
10681068
errors.emplace_back(
10691069
n.position(),
1070-
"an 'implicit' constructor must have exactly one additional parameter besides 'this'"
1070+
"an 'implicit' constructor must have at most one additional parameter besides 'this'"
10711071
);
10721072
return false;
10731073
}

0 commit comments

Comments
 (0)