druntime 2.087 regression? (was: Old codebase stops compiling at 2.087)

Steven Schveighoffer schveiguy at gmail.com
Tue Dec 3 22:59:45 UTC 2019

On 12/3/19 12:15 PM, James Blachly wrote:
> On 11/17/19 7:15 PM, Steven Schveighoffer wrote:
>> On 11/17/19 10:45 AM, James Blachly wrote:
>>> /home/james/dmd2.087/dmd2/linux/bin64/../../src/druntime/import/object.d(3453,36): 
>>> Error: cannot implicitly convert expression aa of type 
>>> shared(GSeqAllele[string]) to const(shared(GSeqAllele)[string])
>> There's a subtle removing of the shared from the entire AA. Is that on 
>> purpose?
>> i.e. I see shared(GSeqAllele[string]) in one, and 
>> shared(GSeqAllele)[string] in another.
> Steve:
> Sorry for the delay in replying. That is the runtime removing the shared 
> from the entire AA, not our code. I point out the change that induces 
> this with a link to github.

I admit, this was a drive-by analysis, and I didn't look at the code at 
all. Just the error.

> Should I move this discussion to the main D group? My primary concerns are:
> 0. Ask if it is intended behavior that the runtime cannot handle a 
> shared AA post 2.086.1?
> 1. Report this as bug
> 2. Ask why this commit ("object: Declare private struct AA and fix aaA 
> function signatures ") not mentioned in the changelog for 2.087?

0. learn is fine. I'm never one to care about where someone posts.

1. Bugzilla is the correct place to report. Looks like you have a solid 
case and have done all the hard work. Should be fixable.

2. Not all commits are mentioned in the changelog. But if there is a 
change that breaks existing code, arguably it should be in there.


More information about the Digitalmars-d-learn mailing list