From 5ffc7d3784dc416769ff1a4aa0ab959ca42cd47e Mon Sep 17 00:00:00 2001 From: Daniel Murphy Date: Fri, 29 Aug 2014 01:20:28 +1000 Subject: [PATCH] Fix Issue 5299 - Protected inheritance is semantically undefined Deprecation -> Error --- src/parse.c | 2 +- test/fail_compilation/fail5299.d | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/fail_compilation/fail5299.d diff --git a/src/parse.c b/src/parse.c index dcc2c4f8f908..974f29b296c1 100644 --- a/src/parse.c +++ b/src/parse.c @@ -2172,7 +2172,7 @@ BaseClasses *Parser::parseBaseClasses() default: break; } if (prot) - deprecation("use of base class protection is deprecated"); + error("use of base class protection is no longer supported"); BaseClass *b = new BaseClass(parseBasicType(), protection); baseclasses->push(b); if (token.value != TOKcomma) diff --git a/test/fail_compilation/fail5299.d b/test/fail_compilation/fail5299.d new file mode 100644 index 000000000000..d5e8752f2fd3 --- /dev/null +++ b/test/fail_compilation/fail5299.d @@ -0,0 +1,14 @@ +/* +TEST_OUTPUT: +--- +fail_compilation/fail5299.d(12): Error: use of base class protection is no longer supported +--- +*/ + +class A +{ +} + +class B : private A +{ +}