Bug 19162 – [REG: 2.079.0] Public Import Overlapping Names Conflict Resolution

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2018-08-13T03:20:24Z
Last change time
2018-08-21T11:27:37Z
Keywords
pull
Assigned to
No Owner
Creator
Jack

Comments

Comment #0 by look.at.me.pee.please — 2018-08-13T03:20:24Z
The following works in 2.078.1 but stopped working in 2.079.0. Seems to be selecting std.math.abs instead of vec.abs which are both publicly imported in module 'math'. /../phobos\std\math.d(564): Error: incompatible types for `(x) >= (0)`: `Vector!(float, 3)` and `int` /../phobos\std\math.d(564): Error: `x` is not of arithmetic type, it is a `Vector!(float, 3)` \test\main.d(9): Error: template instance `std.math.abs!(Vector!(float, 3))` error instantiating ******************************************************* // main.d import math; void main() { Vector!(float, 3) v; auto t = abs(v); } ******************************************************* // vec.d module vec; struct Vector(T, int size) { T x, y, z; } auto abs(T, int size)(auto ref const Vector!(T, size) v) { return v; } ******************************************************* // math.d module math; public { import std.math; // order doesn't change error import vec; } *******************************************************
Comment #1 by greensunny12 — 2018-08-15T23:25:51Z
Please don't forget to mention a PR if you submitted it, s.t. other people know about this when browsing the issue list. In this case it's: https://github.com/dlang/phobos/pull/6664 Thanks!
Comment #2 by github-bugzilla — 2018-08-21T11:27:35Z
Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/1798119abff6b7226ad65ce57339a26f0ab0bf4e Fix issue 19162 https://github.com/dlang/phobos/commit/dc2c899e16a8e15b55ce63c3b260efc6a5cb1eaf Merge pull request #6664 from look-at-me/master Fix issue 19162 - [REG: 2.079.0] Public Import Overlapping Names Conflict Resolution merged-on-behalf-of: Petar Kirov <[email protected]>