| Thread overview | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 02, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code@dawg.eu --- Comment #1 from Martin Nowak <code@dawg.eu> --- Reproduced the override errors w/ https://github.com/BBasile/kheops/commit/2f99686d346c291e1cfbe6e1412373d5cc1a385c. I don't get the error about the default ctor (might have been fixed in the meantime). -- | ||||
October 06, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #2 from b2.temp@gmx.com --- The culprit is this PR https://github.com/dlang/dmd/pull/5690 -- | ||||
October 06, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #3 from b2.temp@gmx.com --- What happens is that an alias declaration inside a class creates a silent error (this is a second issue). When the alias is put out of the class the "real" error appears before those related to overriding. The project is updated https://github.com/BBasile/kheops/commit/c9522681ee5ffd3d6d4bb298d4a5597bcbb1d510 >From now, to see the regression just clone, "cd kheops" and "dub". -- | ||||
October 06, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@digitalmars.com --- Comment #4 from Walter Bright <bugzilla@digitalmars.com> --- (In reply to b2.temp from comment #3) > What happens is that an alias declaration inside a class creates a silent error (this is a second issue). Can you file a report for that one with an example, please? -- | ||||
October 06, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #5 from b2.temp@gmx.com --- In a first time the good new is that I have a reduction: interface Desc {} class Bug(T): Desc if (is(T : Desc)) {} alias Type = Bug!Bar; class Bar: Desc { Type a; void test(){} } class Baz: Bar { override void test(){} } void main() { Bar b = new Bar; } -- | ||||
October 07, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #6 from b2.temp@gmx.com --- More information: Today I've reinstalled dmd 2.071.2 and bad news: the short example posted yesterday neither compiles with 2.071.2, unless the alias declaration is put in class Bar, which leads to think that there might be an other regression. -- | ||||
October 10, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #7 from Martin Nowak <code@dawg.eu> --- Smells like due to the lazy alias, semantic analysis of the base class is unfinished before checking the derived class' overload. -- | ||||
October 19, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #8 from Martin Nowak <code@dawg.eu> --- Well your code doesn't build with any of the past versions of the compiler, b/c of the template PublishedObjectArray!(CustomControl) being recursively used in a field of CustomControl. Can you provide any version of your software that correctly works w/ a previous version, but fails to compile now? -- | ||||
October 19, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #9 from b2.temp@gmx.com --- (In reply to Martin Nowak from comment #8) > Well your code doesn't build with any of the past versions of the compiler, > b/c of the template PublishedObjectArray!(CustomControl) being recursively > used in a field of CustomControl. > Can you provide any version of your software that correctly works w/ a > previous version, but fails to compile now? done, the alias must be moved in CustomControl. But it means that the reduction is also invalid. What's really sure is the PR that introduced the regression, 5690. -- | ||||
October 19, 2016 [Issue 16574] [REG 2.072.0-b1] Unexplained errors about functions that overridde anything | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16574 --- Comment #10 from Martin Nowak <code@dawg.eu> --- Just tested https://github.com/BBasile/kheops/commit/a00f300c4281b2d4aaf95e7fabde48d3dc3816e9. This commit did build with 2.070.2, 2.071.2, and still builds with 2.072.0-b2. Also dub test does pass with 2.071.2 and 2.072.0-b2, so this doesn't show any regression. If OTOH the recursive alias is declared outside of the class, all versions fail to compile. I went back and tested https://github.com/BBasile/kheops/commit/2f99686d346c291e1cfbe6e1412373d5cc1a385c which now also passes tests. Have you fixed some upstream library (e.g. iz)? I think all the override errors were just follow-up errors from a semantic analysis failure for the class or it's base class (e.g. due to the recursive alias). For your next bug report, please properly document all code involved or even provide a zip file here. Of course, at best you succeed to reduce the test case. -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply