I was trying to rename an imported `sqrt` (wrongly), but I stumbled upon this weird behavior:
```
void main() {
    import core.stdc.math: sqrtf, sqrt;
    alias sqrtd = core.stdc.math.sqrt;
    auto a = sqrtd(1);
}
```
onlineapp.d(3): Error: undefined identifier core.stdc.math.sqrt

However, when std.stdio is imported:

```
void main() {
    import std.stdio;
    import core.stdc.math: sqrtf, sqrt;
    alias sqrtd = core.stdc.math.sqrt;
    auto a = sqrtd(1);
}
```
onlineapp.d(4): Deprecation: std.stdio.core is not visible from module onlineapp onlineapp.d(4): Deprecation: std.stdio.core is not visible from module onlineapp

Apart from the deprecation, it actually works. What is the intended behavior here? Is this a new issue, or does the deprecation already cover it once it becomes an error?

(Btw the correct way to do this is `import core.stdc.math: sqrtf, sqrtd = sqrt;`)

Reply via email to