On Sunday, 24 July 2022 at 18:44:42 UTC, realhet wrote:
Hello,
I noticed that the LDC2 compiler has an architecture target
called "AMD GCN".
Is there an example code which is in D and generates a working
binary of a hello world kernel.
I tried it, and just failed at the very beginning: How
On Friday, 26 August 2022 at 00:34:30 UTC, MichaelBi wrote:
when using ldc2, has this error "ld: library not found for
-lssl" after dub build --compiler=ldc2
So where is your ssl library located and how (if at all) are you
telling the compiler/linker where to find it?
On Saturday, 24 September 2022 at 07:04:34 UTC, Gregor Mückl
wrote:
Hi!
I have a D template struct that reimplements a C++ class
template with identical memory layout for a set of types that
matter to me. Now, I want to use some C++ functions and classes
that use these template instances, fro
On Thursday, 22 August 2019 at 00:57:26 UTC, Bert wrote:
How hard would it be to do something like Shadertoy in Dcompute
and would it be any faster?
I don't like the basics of Shadertoy, lots of nonsense to do
basic stuff. E.g., to work with complex numbers one must
essentially do everything
On Saturday, 31 August 2019 at 21:12:32 UTC, ag0aep6g wrote:
I've made a pull request to get rid of those allocations:
https://github.com/dlang/phobos/pull/7163
Merged.
On Tuesday, 10 September 2019 at 11:12:30 UTC, Stefanos Baziotis
wrote:
I don't if this the right group to post this.
DMD built from source fails to link / find `main`. The error is:
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function
`_start':
(.text+0x20): undefined
On Tuesday, 10 September 2019 at 06:18:05 UTC, Newbie2019 wrote:
I want to translate this c code into d (build with ldc), so I
can use -flto and inline with other code.
uint64_t _wymum(uint64_t A, uint64_t B){
__uint128_t r = A ;
r *= B;
return (r>>64)^r;
}
Do i need A
On Tuesday, 17 September 2019 at 17:11:09 UTC, Stefanos Baziotis
wrote:
I think it's better to give a concrete example rather than
explaining this vaguely.
-- The question --
Can we do better ? For one, I believe that because D does not
have a preprocessor,
we have to do an actual declaration
On Monday, 21 October 2019 at 20:12:19 UTC, Peter Jacobs wrote:
Toward the end of Walter's recent talk, D at 20, he says
something to the effect that optimizations are disabled when
exceptions can be thrown. We have a compressible flow solver
in which it is very convenient to be able to throw
On Monday, 21 October 2019 at 10:14:54 UTC, Andrey wrote:
Hello,
I have got a global constant immutable array:
immutable globalvalues = sort(cast(wstring[])["й", "ц", "ук",
"н"]);
Somewhere in program I want to check an existance:
globalvalues.contains("ук"w).writeln;
But get an error:
Erro
On Monday, 21 October 2019 at 21:09:32 UTC, Peter Jacobs wrote:
On Monday, 21 October 2019 at 20:37:32 UTC, Nicholas Wilson
wrote:
What kind of conditions are you wanting to throw exception on?
infinities, NaNs, ill conditioning, something else?
As always the best way to check is to mark the
On Monday, 4 November 2019 at 19:51:26 UTC, Tobias Pankrath wrote:
Why does the following not work? It works, if I move the 'prop'
out of 'foo'.
---
struct S {
ubyte[12] bar;
}
bool foo (ref S s)
{
static bool prop(const(ubyte)[] f) {
return f.length > 1;
}
return s
On Wednesday, 1 April 2020 at 21:19:54 UTC, Adam D. Ruppe wrote:
I want to do like
static if(__LDC_VERSION == 1.19) {
// declaration
}
All the tricks I know that I have tried so far give the dmd
numbers. Perhaps I could use that to identify a particular
version as a hack, but I specificall
On Sunday, 24 May 2020 at 06:38:46 UTC, Tim wrote:
Oh right. I mean it makes sense but I got confused when super()
is valid syntax. Why would you need to call the super
constructor when it's called automatically?
A base class with a constructor that has no args will
automatically get called a
On Tuesday, 20 October 2020 at 00:16:48 UTC, Ali Çehreli wrote:
On the D side, both of the following extern(C) functions take
the same arguments.
https://github.com/dlang/dmd/pull/8120
there are issues with structs. Not sure about length/ptr.
Given
template ScopeClass(C)
{
//...
}
where C is a, possibly templated, class I want the eponymous
member of ScopeClass!(C) to have the same templatedness (both
parameters and arguments)as C.
For a non-template C this is a simple as:
template ScopeClass(C)
{
class ScopeClass
{
On Monday, 22 March 2021 at 07:52:14 UTC, MichaelJames wrote:
Tell me, did you manage to solve this problem?
https://github.com/dlang/dmd/pull/12300
On Sunday, 6 June 2021 at 04:14:20 UTC, lili wrote:
I want learn RISC-V and write a simple kernel on it using d.
but can not find any support about RISC-V.
LDC can compile for riscv 32 and 64 bit.
https://github.com/ldc-developers/ldc/releases/tag/v1.26.0
use `-mtriple=riscv32` or `-mtriple=r
On Friday, 17 September 2021 at 11:10:33 UTC, seany wrote:
I have now this function, as a private member in a Class :
} catch (RangeError er) {
I can't remember if you can catch an index OOB error but try
`catch (Throwable er)` will work if it is catchable at all and
you can figur
On Thursday, 16 September 2021 at 04:54:21 UTC, james.p.leblanc
wrote:
Thank you for your kind response. Wow, at first the large
output file
from a small test program was a bit surprising .., but actually
it is
manageable to dig through to find the interesting bits.
So, this is quite useful!
On Friday, 8 October 2021 at 02:49:17 UTC, codic wrote:
I am working with a C API (XCB) which uses `void*` a lot to
obtain parameter packs; these are very small and throwaway so I
want them to be allocated to the stack.
CUDA has something similar that I have to deal with for
dcompute[1]. The
On Friday, 8 October 2021 at 05:31:21 UTC, codic wrote:
On Friday, 8 October 2021 at 05:01:00 UTC, Nicholas Wilson
wrote:
note that if the pointer is not escaped from the function
(i.e. thing is void thing(scope int* abc)note the addition of
scope) LDC will perform promotion of GC allocation to
On Tuesday, 17 April 2018 at 10:17:56 UTC, Dgame wrote:
Ah, I found the msvcEnv.bat and I told me that I have to VSC
installation. Solved!
You should also be able to use -link-internally /LLMV's lld if
you don't want to install MSVC
On Tuesday, 17 April 2018 at 12:42:48 UTC, Dgame wrote:
On Tuesday, 17 April 2018 at 11:01:21 UTC, Nicholas Wilson
wrote:
On Tuesday, 17 April 2018 at 10:17:56 UTC, Dgame wrote:
Ah, I found the msvcEnv.bat and I told me that I have to VSC
installation. Solved!
You should also be able to use -
On Wednesday, 18 April 2018 at 13:15:08 UTC, Guillaume Piolat
wrote:
The D specification says:
"A ConditionalStatement that has a DebugCondition is called a
DebugStatement. DebugStatements have relaxed semantic checks in
that pure, @nogc, nothrow and @safe checks are not done.
Neither do Debu
On Saturday, 21 April 2018 at 23:47:41 UTC, Mike Franklin wrote:
On Saturday, 21 April 2018 at 19:06:52 UTC, Steven
Schveighoffer wrote:
alloca is an intrinsic, and part of the language technically
-- it has to be.
From what I can tell `alloca` is only available in the
platform's C standard
-
module a;
struct foo {}
deprecated alias bar = foo;
--
module b;
struct bar {};
---
module c;
import a;
import b;
void baz(bar b) {}
Error: `a.bar` at source/a.d(5,1) conflicts with `b.bar` at
.b.d(2,1)
I would have thought the undeprecated alias would have bee
On Wednesday, 23 May 2018 at 02:24:08 UTC, IntegratedDimensions
wrote:
Many times in expensive loops one must make decisions.
Decisions must be determined and the determination costs.
for(int i = 0; i < N; i++)
{
if(decision(i)) A; else B;
}
the if statement costs N times the cycle cost.
On Wednesday, 23 May 2018 at 03:12:52 UTC, IntegratedDimensions
wrote:
I knew someone was going to say that and I forgot to say DON'T!
Saying to profile when I clearly said these ARE cases where
they are slow is just moronic. Please don't use default answers
to arguments.
This was a general
On Thursday, 24 May 2018 at 08:16:30 UTC, biocyberman wrote:
Some C and C++ projects I am working on use pointers and
references extensively: to pass as function arguments, and to
return from a function. For function argument I would use
`ref`, but for return types, I can't use `ref` and can't
On Monday, 28 May 2018 at 01:28:10 UTC, Dr.No wrote:
I'm trying to use wkhtmltopdf[1] with D. I converted this
header[2] with little modification using htod tool which
resulted in this[3].
The libray is passed to link using:
pragma(lib, "wkhtmltox.lib");
(that file is in wkhtmltopdf\lib folder
On Thursday, 24 May 2018 at 18:51:31 UTC, Mike Franklin wrote:
I'm trying to find a way to declare a block of code `nothrow:`
when compiling with -betterC, but not `nothrow` when not
compiling with -betterC.
[...]
Not one now but, DIP 1012 will allow this as nothrow will become
a regular en
On Tuesday, 29 May 2018 at 01:43:17 UTC, Mike Parker wrote:
In pdf.h, that CAPI macro is used in every function
declaration. That means that on Windows, all of the functions
have the __stdcall calling convention (which, in D, would be
extern(Windows)) and the standard cdecl calling convetion on
On Tuesday, 29 May 2018 at 04:49:34 UTC, Nicholas Wilson wrote:
On Tuesday, 29 May 2018 at 01:43:17 UTC, Mike Parker wrote:
In pdf.h, that CAPI macro is used in every function
declaration. That means that on Windows, all of the functions
have the __stdcall calling convention (which, in D, would
On Sunday, 17 June 2018 at 10:58:29 UTC, Cauterite wrote:
Hello,
I'm not sure whether I'm missing something obvious here, but is
there a reason for scope(success) being lowered to a try-catch
statement?
I would have expected only scope(exit) and scope(failure) to
actually interact with excepti
On Thursday, 21 June 2018 at 21:00:46 UTC, Michael Brown wrote:
Hi D Community,
Is it possible to get a slice of a function, rather than just
its start pointer?
No.
I'm interested in currying a function at runtime - So I would
need to copy a function block (Either the original function, a
On Sunday, 24 June 2018 at 01:43:41 UTC, ANtlord wrote:
On Sunday, 24 June 2018 at 01:26:48 UTC, ANtlord wrote:
Actually I get it worked replacing `string filepath2` by
`char[] filepath2` but filepath is string still and it works
correctly.
It doesn't work
Vorbis is a C library, so you ne
On Sunday, 24 June 2018 at 14:16:26 UTC, Kamil Koczurek wrote:
I recently wrote a brainfuck compiler in D, which loads the BF
source at compile time, performs some (simple) optimizations,
translates everything to D and puts it into the source code
with a mixin.
I did manage to get some pretty
On Wednesday, 4 July 2018 at 14:07:35 UTC, Timoses wrote:
How can I return inferred storage class from interface
functions?
I can't use auto as return value in interface. Neither can I
use "inout" as I don't pass a parameter.
// Ref Type
interface IRef
{
...
string key = "blahblahblah";
auto mac = hmac!SHA256(key.representation);
string s = ...,t=...u=...,v=...;
foreach(w;AliasSeq!(s,t,u,v))
mac.put(w.representation);
ubyte[32] s = mac.finish;
string sig = toHexString!(LetterCase.lower)(s);
writeln(sig);
// From what I understand Shou
On Wednesday, 18 July 2018 at 05:54:48 UTC, Nicholas Wilson wrote:
...
string key = "blahblahblah";
auto mac = hmac!SHA256(key.representation);
string s = ...,t=...u=...,v=...;
foreach(w;AliasSeq!(s,t,u,v))
mac.put(w.representation);
ubyte[32] s = mac.finish;
string sig = toHexString!
On Wednesday, 18 July 2018 at 11:29:42 UTC, baz@dlang-community
wrote:
On Wednesday, 18 July 2018 at 11:22:36 UTC, Nicholas Wilson
wrote:
On Wednesday, 18 July 2018 at 05:54:48 UTC, Nicholas Wilson
wrote:
[...]
Ahh, the joys of memory corruption.
You've reached https://issues.dlang.org/show
My application needs to load shared libraries: on Posix this is
only supported with a shared druntime. How does one link to the
dynamic druntime with dub?
On Tuesday, 31 July 2018 at 13:52:21 UTC, rikki cattermole wrote:
On 01/08/2018 1:43 AM, Nicholas Wilson wrote:
My application needs to load shared libraries: on Posix this
is only supported with a shared druntime. How does one link to
the dynamic druntime with dub?
The same way you do it wit
On Tuesday, 31 July 2018 at 14:27:18 UTC, rikki cattermole wrote:
On 01/08/2018 2:18 AM, Nicholas Wilson wrote:
On Tuesday, 31 July 2018 at 13:52:21 UTC, rikki cattermole
wrote:
On 01/08/2018 1:43 AM, Nicholas Wilson wrote:
My application needs to load shared libraries: on Posix this
is only s
On Wednesday, 1 August 2018 at 20:10:44 UTC, Hakan Aras wrote:
On Wednesday, 1 August 2018 at 16:25:28 UTC, Hakan Aras wrote:
https://run.dlang.io/is/dSVruv
Whoops, that was the wrong one. It's fixed now.
https://issues.dlang.org/show_bug.cgi?id=19134
As a workaround remove static, as th
On Thursday, 2 August 2018 at 02:13:41 UTC, Hakan Aras wrote:
On Thursday, 2 August 2018 at 01:39:58 UTC, Nicholas Wilson
wrote:
https://issues.dlang.org/show_bug.cgi?id=19134
I wasn't quite sure whether it's a bug since it happens in both
compilers. Thanks for opening the issue.
For f
On Saturday, 4 August 2018 at 12:21:36 UTC, Alex wrote:
I'm a little bit confused by following situation:
I have code, say around 8000 lines. Now, I'm facing a build
error which just says
dmd failed with exit code -11,
(same for ldc2, with some lines of stack information, which do
not belon
On Saturday, 4 August 2018 at 18:12:05 UTC, Alex wrote:
On Saturday, 4 August 2018 at 13:26:01 UTC, Nicholas Wilson
wrote:
0 ldc2 0x000106fcc4e7
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1 ldc2 0x000106fcb9ea
llvm::sys::RunSignalHandle
On Sunday, 5 August 2018 at 10:12:39 UTC, Alex wrote:
On Sunday, 5 August 2018 at 01:15:07 UTC, Nicholas Wilson wrote:
On Saturday, 4 August 2018 at 18:12:05 UTC, Alex wrote:
On Saturday, 4 August 2018 at 13:26:01 UTC, Nicholas Wilson
That is a very long stacks trace and combined with the very
the first overload is
ptrdiff_t countUntil(alias pred = "a == b", R, Rs...)(R haystack,
Rs needles)
if (isForwardRange!R
&& Rs.length > 0
&& isForwardRange!(Rs[0]) == isInputRange!(Rs[0])
&& is(typeof(startsWith!pred(haystack, needles[0])))
&& (Rs.length == 1
|| is(typeof(countUntil!pred(haysta
On Wednesday, 8 August 2018 at 01:33:26 UTC, Steven Schveighoffer
wrote:
On 8/7/18 9:20 PM, Nicholas Wilson wrote:
the first overload is
ptrdiff_t countUntil(alias pred = "a == b", R, Rs...)(R
haystack, Rs needles)
if (isForwardRange!R
&& Rs.length > 0
&& isForwardRange!(Rs[0]) == isInputRang
On Wednesday, 8 August 2018 at 01:33:26 UTC, Steven Schveighoffer
wrote:
On 8/7/18 9:20 PM, Nicholas Wilson wrote:
the first overload is
ptrdiff_t countUntil(alias pred = "a == b", R, Rs...)(R
haystack, Rs needles)
if (isForwardRange!R
&& Rs.length > 0
&& isForwardRange!(Rs[0]) == isInputRang
On Saturday, 11 August 2018 at 23:12:43 UTC, ag0aep6g wrote:
On 08/11/2018 11:20 PM, rikki cattermole wrote:
On 12/08/2018 8:55 AM, Eric wrote:
Code below compiles while I would not expect it to compile.
Is there a reason that this compiles?
[...]
No bug. You forgot to throw -unittest when yo
On Tuesday, 14 August 2018 at 13:01:57 UTC, learnfirst1 wrote:
enum string[] a = ["a"];
extern(C) void main() {
int i = 0;
auto s = a[i];
}
---
Error: TypeInfo cannot be used with -betterC
Yes. https://issues.dlang.org/show_bug.cgi?id=19169
On Tuesday, 14 August 2018 at 13:16:50 UTC, Nicholas Wilson wrote:
On Tuesday, 14 August 2018 at 13:01:57 UTC, learnfirst1 wrote:
enum string[] a = ["a"];
extern(C) void main() {
int i = 0;
auto s = a[i];
}
---
Error: TypeInfo cannot be used with -betterC
Yes. htt
On Monday, 20 August 2018 at 00:27:04 UTC, Nick Sabalausky
(Abscissa) wrote:
Suppose I've wrapped a Variant in a struct/class which ensures
the Variant *only* ever contains types which satisfy a
particular constraint (for example: isInputRange, or hasLength,
etc...).
Is there a way to call a
On Sunday, 26 August 2018 at 20:17:30 UTC, aliak wrote:
So if we had this:
struct A(T) {
auto proxy() @trusted {
return B!T(&this);
}
}
struct B(T) {
private A!T* source;
private this(A!T* s) { source = s; }
@disable this();
@disable this(this) {}
@disable void opAssign(B!T);
On Monday, 27 August 2018 at 09:57:18 UTC, Sobaya wrote:
On Monday, 27 August 2018 at 09:41:34 UTC, 9il wrote:
On Monday, 27 August 2018 at 08:25:14 UTC, Sobaya wrote:
I'm using dcompute(https://github.com/libmir/dcompute).
In the development, I have got to use math functions such as
sqrt in
On Thursday, 30 August 2018 at 10:34:33 UTC, Sobaya wrote:
On Monday, 27 August 2018 at 12:47:45 UTC, Nicholas Wilson
wrote:
On Monday, 27 August 2018 at 09:57:18 UTC, Sobaya wrote:
On Monday, 27 August 2018 at 09:41:34 UTC, 9il wrote:
On Monday, 27 August 2018 at 08:25:14 UTC, Sobaya wrote:
On Friday, 7 September 2018 at 06:45:32 UTC, Sobaya wrote:
Sorry for being late for reply.
I'm using CUDA for back-end.
So you mean if required function is "cos",
pragma(LDC_intrinsic, "llvm.nvv.cos")
T cos(T a);
Is it right?
You're missing an "m" in "nvvm", dunno if that will fix it.
I t
On windows with dub it seems to be creating libfoo.a instead of
foo.lib, I don't think I changed any settings. Old build based on
2.078 DMDFE seem to have built .lib but LDC based on 2.082 seems
to be building .a
On Sunday, 9 September 2018 at 04:01:30 UTC, Nicholas Wilson
wrote:
On windows with dub it seems to be creating libfoo.a instead of
foo.lib, I don't think I changed any settings. Old build based
on 2.078 DMDFE seem to have built .lib but LDC based on 2.082
seems to be building .a
This definit
On Sunday, 9 September 2018 at 04:53:05 UTC, Nicholas Wilson
wrote:
On Sunday, 9 September 2018 at 04:01:30 UTC, Nicholas Wilson
wrote:
On windows with dub it seems to be creating libfoo.a instead
of foo.lib, I don't think I changed any settings. Old build
based on 2.078 DMDFE seem to have buil
On Tuesday, 18 September 2018 at 00:25:33 UTC, Sobaya wrote:
On Friday, 7 September 2018 at 10:53:25 UTC, Sobaya wrote:
On Friday, 7 September 2018 at 10:17:47 UTC, Nicholas Wilson
wrote:
On Friday, 7 September 2018 at 06:45:32 UTC, Sobaya wrote:
[...]
You're missing an "m" in "nvvm", dunno
On Tuesday, 18 September 2018 at 00:25:33 UTC, Sobaya wrote:
I'm waiting for the update. How's your progress?
I t appears I have broke SPIR-V completely somewhere along the
line, I may release a v0.2 with out it, hopefully within the week.
On Tuesday, 18 September 2018 at 06:25:33 UTC, Sobaya wrote:
On Tuesday, 18 September 2018 at 01:39:51 UTC, Nicholas Wilson
wrote:
On Tuesday, 18 September 2018 at 00:25:33 UTC, Sobaya wrote:
I'm waiting for the update. How's your progress?
I t appears I have broke SPIR-V completely somewhere
On Wednesday, 19 September 2018 at 00:11:13 UTC, Nicholas Wilson
wrote:
On Tuesday, 18 September 2018 at 06:25:33 UTC, Sobaya wrote:
On Tuesday, 18 September 2018 at 01:39:51 UTC, Nicholas Wilson
wrote:
On Tuesday, 18 September 2018 at 00:25:33 UTC, Sobaya wrote:
I'm waiting for the update. Ho
On Thursday, 20 September 2018 at 05:16:04 UTC, Sobaya wrote:
On Wednesday, 19 September 2018 at 00:22:44 UTC, Nicholas
Wilson wrote:
On Wednesday, 19 September 2018 at 00:11:13 UTC, Nicholas
Wilson wrote:
On Tuesday, 18 September 2018 at 06:25:33 UTC, Sobaya wrote:
On Tuesday, 18 September 201
On Thursday, 20 September 2018 at 12:43:02 UTC, Nicholas Wilson
wrote:
Hmm, I can reproduce. Will look into it.
pragma(LDC_intrinsic, "llvm.nvvm.cos.approx.f")
float cos(float val);
does work but is an approximation.
On Sunday, 30 September 2018 at 07:29:00 UTC, Vijay Nayar wrote:
I have two brief questions.
Code that uses "new" to create struct objects appears to
compile and run. Is this an actual language feature, to get
structs on the heap?
void main()
{
struct S {int data = 1;}
S* s1
On Sunday, 30 September 2018 at 09:30:38 UTC, Vijay Nayar wrote:
Is there a way to either have a constant reference to a class
that can be set to a new value, or is there a way to convert
the class variable to a class pointer?
Alex has mentioned Rebindable, which is the answer to your first
q
On Tuesday, 2 October 2018 at 01:57:00 UTC, Vladimir Panteleev
wrote:
Ran into this today, don't have time to dig in now but maybe
someone ran into this too.
Steps to reproduce:
- git clone https://github.com/CyberShadow/ae
- cd ae/demo/inputtiming
- (download/unpack
https://www.libsdl.org/re
On Friday, 5 October 2018 at 03:27:17 UTC, Jon Degenhardt wrote:
I got the compilation error in the subject line when trying to
create a range via std.range.generate. Turns out this was
caused by trying to create a closure for 'generate' where the
closure was accessing a struct containing a des
On Friday, 5 October 2018 at 06:22:57 UTC, Nicholas Wilson wrote:
tenRandomNumbers.each!((n,o) =>
o.appendln(n.to!string))(output);
or
tenRandomNumbers.each!((n, ref o) =>
o.appendln(n.to!string))(output);
should hopefully do the trick (run.dlang.io seems to be down
atm).
Alas is does
On Friday, 5 October 2018 at 06:44:08 UTC, Nicholas Wilson wrote:
Alas is does not because each does not accept additional
argument other than the range. Shouldn't be hard to fix though.
https://issues.dlang.org/show_bug.cgi?id=19287
On Friday, 5 October 2018 at 19:31:56 UTC, Jon Degenhardt wrote:
On Friday, 5 October 2018 at 16:34:32 UTC, Paul Backus wrote:
You can thread multiple arguments through to `each` using
`std.range.zip`:
tenRandomNumbers
.zip(repeat(output))
.each!(unpack!((n, output) =>
out
On Saturday, 6 October 2018 at 13:17:22 UTC, bauss wrote:
Let's say you have a range with struct, but some of the struct
are duplicates of each other.
Is there a standard function in Phobos to remove duplicates?
My first thought was "uniq", but it can't really do it like
that, but it doesn't
On Monday, 8 October 2018 at 09:39:55 UTC, John Burton wrote:
My use case is sending data to a socket.
One part of my program generates blocks of bytes, and the
socket part tries to send them to the socket and then removes
from the queue the number that got sent.
[...]
Try searching for "c
On Monday, 8 October 2018 at 11:19:40 UTC, Per Nordlöw wrote:
I want to understand how calls to `new` for classes
see _d_newclass
and structs are lowered by the compiler and druntime to a
GC-allocation (specifically how the `ba`-argument bits are
determined) followed by an initialization usi
On Monday, 8 October 2018 at 21:50:33 UTC, Per Nordlöw wrote:
I'm trying to compile the example
import std.experimental.allocator.building_blocks.free_list
: FreeList;
theAllocator = allocatorObject(FreeList!8());
at https://dlang.org/phobos/std_experimental_allocator.html but
fails
On Monday, 15 October 2018 at 18:57:19 UTC, Vinay Sajip wrote:
On Monday, 15 October 2018 at 17:55:34 UTC, Dukc wrote:
This is done automatically for character arrays, which
includes strings. wchar arrays wil iterate by UTF-16, and
dchar arrays by UTF-32. If you have a byte/ubyte array you
kno
On Monday, 15 October 2018 at 21:48:05 UTC, Vinay Sajip wrote:
On Monday, 15 October 2018 at 19:56:22 UTC, Nicholas Wilson
wrote:
import std.file : readText;
import std.uni : byCodePoint, byGrapheme;
// or import std.utf : byCodeUnit, byChar /*utf8*/, byWchar
/*utf16*/, byDchar /*utf32*/, byUT
On Friday, 26 October 2018 at 01:58:47 UTC, Heromyth wrote:
Maybe it's better to extend core.thread.Thread by inheriting it.
Am I right? Thanks!
Yes, see the example at
https://dlang.org/phobos/core_thread.html#.Thread
So I have a project that is a simple dub app with
source/
app.d
$dub
Performing "debug" build using /Library/D/dmd/bin/dmd for x86_64.
foo ~master: building configuration "application"...
Linking...
Running ./foo
Edit source/app.d to start your project.
$mv source/app.d source/foo.d
$dub
Perf
On Sunday, 28 October 2018 at 03:28:20 UTC, DanielG wrote:
I'm wrapping a C library which has a lot of structs defined,
and I keep running into issues where dmd complains that .init
isn't defined ("Symbol Undefined __xxx__initZ" etc).
I'm struggling to narrow it down to a simple example th
On Sunday, 28 October 2018 at 03:34:57 UTC, Neia Neutuladh wrote:
targetType "executable" does it for me (dub 1.11.0).
Can you post your full dub.sdl?
I'm an idiot, I was in the wrong directory that does seem to work.
On Sunday, 28 October 2018 at 04:23:27 UTC, DanielG wrote:
On Sunday, 28 October 2018 at 03:39:41 UTC, Nicholas Wilson
wrote:
write struct Foo {
double bar = 0.0; // The bitpattern of 0.0 is 0
}
Thank you for your response.
Can you elaborate on 'write struct...'? Is that special syntax?
On Sunday, 28 October 2018 at 06:59:31 UTC, DanielG wrote:
For the benefit of anybody who encounters a problem like this
in the future ... originally I had my C library "header" files
(renamed from .di to .d after the feedback from Nicholas) in a
special 'headers/' subdir, used as an import pat
On Thursday, 1 November 2018 at 23:59:26 UTC, kerdemdemir wrote:
I have two numbers
First The price = 0.0016123
Second Maximum allowed precision = 0.0001(it can be only
0.001, 0.0001, 0.1, ..., 0.01 bunch of zeros and
than a one that is it)
Anything more precise than the
On Thursday, 1 November 2018 at 16:14:45 UTC, Neia Neutuladh
wrote:
The spec says that a user-defined attribute must be an
expression, but DMD accepts a wide range of things as UDAs:
Indeed UDA are odd beasts:
https://issues.dlang.org/show_bug.cgi?id=19127
What do you do to handle this?
On Friday, 2 November 2018 at 03:13:19 UTC, Neia Neutuladh wrote:
On Fri, 02 Nov 2018 00:36:18 +, Nicholas Wilson wrote:
What do you do to handle this?
@Foo() int bar;
instead of
@Foo int bar;
Right. And if you're offering a library with UDAs for other
people to use?
I mean I suppos
On Friday, 2 November 2018 at 04:18:47 UTC, Neia Neutuladh wrote:
On Fri, 02 Nov 2018 04:01:00 +, Nicholas Wilson wrote:
By noting that all (interesting for the purpose of UDA's i.e.
not void)
types have a .init
or you could do
static if (is(typeof(uda) == Foo) || is(uda == Foo))
Which,
On Saturday, 10 November 2018 at 06:56:29 UTC, Neia Neutuladh
wrote:
Is this right?
Are you sure you added @safe to the second example?
https://run.dlang.io/is/2RbOwK fails to compile.
On Saturday, 17 November 2018 at 13:13:36 UTC, aliak wrote:
On Friday, 16 November 2018 at 13:21:39 UTC, Stanislav Blinov
wrote:
auto assumeNoGC(T)(return scope T t) @trusted { /* ... */ }
Sawweet! Thanks, that made the printing possible!
"scope" is const from what I understand right? It work
On Saturday, 17 November 2018 at 17:58:54 UTC, John Chapman wrote:
The following code doesn't compile because the generated type
name needs to be available inside the mixin's scope, whereas
it's actually in another module.
auto makeWith(string className, Args…)(auto ref Args args) {
mixin("r
On Friday, 23 November 2018 at 08:57:57 UTC, Chris Katko wrote:
Any time I see people mention the benefits of D, I see "compile
times" "compile times" "compile times" over and over.
I'm using very modest amounts of templates, for a fairly small
sized program (very early work toward a game), an
On Friday, 23 November 2018 at 10:34:11 UTC, John Chapman wrote:
I'm doing a fair amount of repeatedly checking if a function
compiles with __traits(compiles...), executing the function if
so, erroring out if not, like this:
static if (__traits(compiles, generateFunc1())) {
return genera
On Wednesday, 28 November 2018 at 07:22:46 UTC, bauss wrote:
If I have a class from D.
How would you use that class in C++?
Like what's the correct approach to this.
Would it work just by doing "extern(C++)" or will that only
work for D to use C++ classes?
If you have
foo.d
class Foo
On Wednesday, 28 November 2018 at 13:13:40 UTC, bauss wrote:
Well unfortunately I cannot control the C++ side of things, but
I assume that it'll work properly with extern(C++) so I guess I
will just go ahead and try and see if everything works out. I
have access to the C++ source so at the very
1 - 100 of 612 matches
Mail list logo