[Issue 19107] New: -de produces compilation error, -dw does not
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Jul 22 10:40:04 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=19107
Issue ID: 19107
Summary: -de produces compilation error, -dw does not
Product: D
Version: D2
Hardware: x86
OS: All
Status: NEW
Severity: blocker
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: slavo5150 at yahoo.com
--- sing.d
module sing;
alias I(alias A) = A;
--- git.d
import sing : I;
--- manager.d
module manager;
import std.algorithm;
import std.range;
import git;
class DManager
{
struct Config
{
struct Build
{
struct Components
{
string[] getEnabledComponentNames()
{
return null;
}
}
Components components;
}
Build build;
}
Config config;
void getCacheState(string[string] history)
{
auto componentNames = config.build.components.getEnabledComponentNames;
auto components = componentNames.map!(componentName => componentName);
components
.map!(component => component)
.map!(componentName => componentName);
foreach (submoduleCommits; history)
{
componentNames.all!(componentName => componentName.I!(component =>
component));
}
}
}
$ dmd -c -dw manager.d
OK
$ dmd -c -de manager.d
manager.d(37): Error: template
manager.DManager.getCacheState.__foreachbody5.all!((componentName) =>
componentName.I!((component) => component)).all cannot deduce function from
argument types !()(string[]), candidates are:
/usr/include/dlang/dmd/std/algorithm/searching.d(122):
manager.DManager.getCacheState.__foreachbody5.all!((componentName) =>
componentName.I!((component) => component)).all(Range)(Range range) if
(isInputRange!Range && is(typeof(unaryFun!pred(range.front))))
Currently blocking progress on https://github.com/dlang/dmd/pull/8443
--
More information about the Digitalmars-d-bugs
mailing list