On Sunday, 2 March 2025 at 19:31:06 UTC, realhet wrote:
Anyone have an idea?
Such things are extremely discouraged and I could suggest maybe 3
hacks
But I unable to find a way to parse this declaration in the
scope where my types are.
```d
--- foo.d
import std;
public import bar;
myint fizz;
import foobar;
unittest{
makeconstructor!("myint buzz;") hello;
//hello.importstring.writeln;
hello.buzz=3;
}
--- bar.d
alias myint=int;
--- foobar.d
string parseimport(string s){
return s[0..$-2];
}
template makeconstructor(string s,string file=__FILE__){
struct makeconstructor{
//enum importstring="import "~file.parseimport~";";
mixin("import "~file.parseimport~";");
mixin(s);
}
}
```
if its global scope you have this option