On Tuesday, 2 April 2024 at 18:21:58 UTC, Mike Shah wrote:
An easier fix may be perhaps to just use 'dub' and install the
glfw dependency. In my talk, I did everything from scratch (my
preferred way), though I suspect using dub with glfw-d
(https://code.dlang.org/packages/glfw-d) may provide
On Monday, 8 January 2024 at 21:56:10 UTC, Renato wrote:
but I tried exactly that! Which gives a seg fault.
Looks like there's a bug with the -H switch:
https://issues.dlang.org/show_bug.cgi?id=24326
But that shouldn't be necessary, you should just be able to
import the c file.
I also
On Wednesday, 20 December 2023 at 11:33:22 UTC, DLearner wrote:
The code below fails to compile with
Error: function `test1.foo` no `return exp;` or `assert(0);`
at end of function
unless the commented-out assert(0) is included.
The compiler basically gives up control flow analysis when
On Saturday, 16 December 2023 at 21:30:55 UTC, kdevel wrote:
If you comment out this line
```
//m[f] = 1;
```
in your main function of your posted code you can catch up with
your
real programm insofar as you now need a ref parameter here, too.
That's because `m[f] = 1` initializes the
On Thursday, 30 November 2023 at 07:21:29 UTC, Dom DiSc wrote:
So, why supporting the (somewhat strange looking) version with
curly backets at all?
It only works in one special place, so is simply overhead to
remember.
Again a superfluous way to do the same - but only under
specific
On Wednesday, 29 November 2023 at 13:31:14 UTC, DLearner wrote:
it works but doesn't seem correct.
You're mixing in an expression that creates an empty function and
calls it. What do you want it to do?
On Monday, 9 October 2023 at 16:33:32 UTC, rempas wrote:
However, in my example, "stringof" returns the character "i"
itself and turns that into a string instead of getting its
actual value (number).
The result of `.stringof` is implementation defined, it can be
used for debugging but don't
On Monday, 31 July 2023 at 16:09:11 UTC, bachmeier wrote:
Is there a reason it would be difficult to make this not
compile?
No, except that might result in code breakage.
On Monday, 31 July 2023 at 10:55:44 UTC, Quirin Schroll wrote:
What am I missing here?
The duplicate definition check doesn't consider whether a
function is actually unambiguously callable (without e.g. traits
getOverloads), it only prevents creating the same linker symbol
multiple time. So
On Saturday, 29 July 2023 at 16:47:34 UTC, Ruby The Roobster
wrote:
Dub refuses to fetch the ~master branch of a package, even when
dub.json tells it to. Is there any workaround to this?
Delete dub.selections.json, which locks in dependency versions
until you explicitly upgrade.
On Friday, 28 July 2023 at 16:08:43 UTC, Ruby The Roobster wrote:
Everything displays fine (with orthographic projection, of
course) if you leave the projection as the identity matrix, but
setting it as I have done results in a blank screen.
How do you pass the matrix to OpenGL? Be careful
On Friday, 28 July 2023 at 12:20:05 UTC, Steven Schveighoffer
wrote:
On 7/28/23 8:10 AM, Vijay Nayar wrote:
It might be possible to expand the grammar. It seems very
specific to UDAs, as it doesn't just throw out `Expression` or
whatnot. It probably has to do with the spot that it's in
On Thursday, 27 July 2023 at 21:19:08 UTC, Vijay Nayar wrote:
Attempted Fix 2: Enclose the entire attribute name in
parenthesis.
```
static import vibe.data.serialization;
class ChatCompletionFunctions {
@(vibe.data.serialization.name)("name")
...
}
```
Try:
```D
On Thursday, 27 July 2023 at 15:57:51 UTC, IchorDev wrote:
The faults happen seemingly at random, and from pretty mundane
stuff like `if(auto x = y in z)` that run very often:
Are you accessing the AA from multiple threads?
On Monday, 24 July 2023 at 13:30:27 UTC, cc wrote:
Is there any list of known significant "gotchas" with moving to
LDC from DMD? Any unexpected surprises to watch out for or be
careful for?
- DMD has weak linking for all functions by default (mostly as a
workaround to several bugs). In LDC,
On Wednesday, 19 July 2023 at 01:13:23 UTC, Steven Schveighoffer
wrote:
It's kind of a terrible message, I wish it would change to
something more informative.
As of https://github.com/dlang/dmd/pull/15430, there's a new
message:
```
accessing non-static variable `freeSize` requires an
On Thursday, 13 July 2023 at 11:04:40 UTC, IchorDev wrote:
However, the spec doesn't specify that this is how
`getOverloads` **must** work; is this guaranteed behaviour but
the spec simply omits it?
The order is not guaranteed. I don't know why you need a specific
order, but perhaps you can
On Thursday, 13 July 2023 at 08:03:02 UTC, IchorDev wrote:
I've noticed that `__traits(getOverloads)` always returns the
overloads in lexical order across DMD, LDC, and GDC. Is this
reliable at all?
No. It depends on the order the compiler analyzes the symbols,
which is often lexical order,
On Sunday, 18 June 2023 at 10:21:16 UTC, IchorDev wrote:
Whaat why has this not been fixed in the
last 4 years!
It's now fixed: https://github.com/dlang/dmd/pull/15335
On Tuesday, 27 June 2023 at 05:03:01 UTC, Jonathan M Davis wrote:
However, I would point out that getSymbolsByUDA gives you
symbols, not strings, whereas pragma(msg, ...) wants a string.
For some time now, it accepts any number of objects, which will
all be converted to strings and
On Friday, 9 June 2023 at 04:05:27 UTC, An Pham wrote:
Getting with below error for following codes. Look like bug?
Filed as https://issues.dlang.org/show_bug.cgi?id=23985
You can work around it by marking parameter `a` as `return scope`
On Thursday, 25 May 2023 at 15:37:00 UTC, Quirin Schroll wrote:
Is there a process? I can’t be the first one running into this.
Doing it in 3 PRs is the process. This is one of the reasons why
druntime was merged into dmd's repository. I remember someone
saying that if you name the git
On Wednesday, 3 May 2023 at 09:03:38 UTC, Dom DiSc wrote:
I know, (c) is a constructor call, but for basic types that's
the same as (a) isn't it?
No, a cast allows for overflow `cast(ubyte) 256`, while the
constructor needs an integer that fits. `ubyte(256)` is an error.
If t provides a
On Thursday, 20 April 2023 at 09:14:48 UTC, Jack Applegame wrote:
Can anyone help me get rid of this depreciation?
Annotate `getFoo` with `return scope`:
```d
struct Foo {
string foo;
string getFoo() return scope const @safe { return foo; }
}
On Saturday, 15 April 2023 at 21:00:01 UTC, kdevel wrote:
On Saturday, 15 April 2023 at 15:50:18 UTC, Dennis wrote:
[...]
care about the type / mutability of the pointer.
Returning `i`'s address in a long does not trigger the escape
detector:
It doesn't care about the type of pointer, but
On Saturday, 15 April 2023 at 14:33:52 UTC, kdevel wrote:
Does that make sense?
Whether it makes sense is subjective, but it is by design. Escape
analysis considers every pointer the same, it doesn't care about
the type / mutability of the pointer. In `@system` / `@trusted`
code, you could
On Saturday, 15 April 2023 at 14:10:57 UTC, Dennis wrote:
This adds complexity, just to add some 'intermediate' safety
between `@system` and `@safe` in a few cases. It's better to
keep the rules simple and consistent.
To quote my past self:
There used to be different rules for lifetime
On Saturday, 15 April 2023 at 13:20:09 UTC, kdevel wrote:
Under which circumstances is it a mistake to insert the
`return` at the indicated position? If there are none why can't
it be done implicitly (automatically)?
It could be done in the easy example you posted, but generalizing
it is
On Friday, 14 April 2023 at 10:31:58 UTC, kdevel wrote:
But in fact it is returned unless it is `return ref`.
When using `return ref`, `return scope`, `scope` etc., you should
be using the latest compiler and annotate functions you want
checked with `@safe`. In previous versions, the
On Friday, 31 March 2023 at 13:11:58 UTC, z wrote:
I've tried to search before but was only able to find articles
for 3D triangles, and documentation for OpenGL, which i don't
use.
The first function you posted takes a 3D triangle as input, so I
assumed you're working in 3D. What are you
On Friday, 31 March 2023 at 16:26:36 UTC, ryuukk_ wrote:
That the same bad advice as telling people to "embrace OOP and
multiple inheritance" and all the Java BS
"just put your variable into a class and make it static, and
then have your singleton to access your static variables"
I agree
On Friday, 31 March 2023 at 15:52:21 UTC, ryuukk_ wrote:
the point i bring is ``__gshared`` is ugly, so we want an ugly
language?
Good code shouldn't look ugly, but global mutable variables are
bad, so it's appropriate that they look ugly.
You can still put a single `__gshared:` at the top
On Thursday, 30 March 2023 at 10:29:25 UTC, z wrote:
Is this code correct or logically sound?
You need to be exact on what 'correct' is. The comment above
`triangleFacesCamera` says:
Indicates wether a triangle faces an imaginary view point.
There's no view point / camera position
On Wednesday, 29 March 2023 at 11:10:42 UTC, Salih Dincer wrote:
Why does my `put` work but the Phobos `put` doesn't work with a
slice?
Your `put` doesn't take `range` by `ref`, so it allows you to
pass an rvalue. Consequently, it doesn't advance the range from
the callers perspective.
On Tuesday, 17 January 2023 at 11:16:25 UTC, DLearner wrote:
```
C:\Users\SoftDev\Documents\BDM\D\ImportC>dmd ex01.c
ex01.c(1): Error: C preprocessor directive `#include` is not
supported
ex01.c(1): Error: no type for declarator before `#`
ex01.c(5): Error: no type for declarator before
On Friday, 13 January 2023 at 19:07:46 UTC, DLearner wrote:
Is this intended?
It is by design, though opinions differ on whether it's a good
design.
It's not a problem to add temporary
```
void main() {
}
```
to the bottom of the module,
You can add the `-main` flag to make dmd
On Friday, 13 January 2023 at 12:50:44 UTC, kdevel wrote:
Should importC fail on invalid C code?
In general, no. The purpose is to build / interface with existing
C code, not to develop new C code with it. ImportC also has its
own extensions by borrowing D features such as __import, CTFE,
On Friday, 13 January 2023 at 12:33:28 UTC, kdevel wrote:
What must be added or changed in order to test every example
which is intended to produce an executable?
Support for separate compilation / ImportC would need to be added
to dspec_tester:
Thanks for reporting this. PR:
https://github.com/dlang/dlang.org/pull/3489
On Friday, 13 January 2023 at 11:10:23 UTC, kdevel wrote:
I would have expected that each and every piece of code in the
documentation is automatically compiled with any new compiler
release.
Individual D snippets
On Thursday, 29 December 2022 at 11:24:38 UTC, lil wrote:
How Can i see associative array implement , is where has
pseudocode write in Dlang?
If you're asking for the implementation of Associative Arrays,
you can find that in druntime in the `rt.aaA` module:
On Friday, 18 November 2022 at 11:51:42 UTC, thebluepandabear
wrote:
A question I have been thinking about whilst using D is how
often I should be using const.
This should be a good read for you:
[Is there any real reason to use
On Sunday, 13 November 2022 at 19:06:40 UTC, 0xEAB wrote:
Why does only the latter sample compile?
The former leads to the following warning:
Can you please provide a full example? I'm missing the
definitions of _headers, hstring, values, and I suspect there's
at least one `@safe` annotation
On Tuesday, 8 November 2022 at 05:48:54 UTC, vushu wrote:
Ah thanks that's nice to have some examples.
Here's an example of tools using dmd as a library:
https://github.com/jacob-carlborg/dlp
On Friday, 4 November 2022 at 10:57:12 UTC, Hipreme wrote:
3. I'm currently having a bug on my API module that every
duplicated file name, even when located at different
directories(modules), are generating duplicate symbol. The
major problem is that this is currently undebuggable, as the
On Thursday, 27 October 2022 at 17:17:01 UTC, ab wrote:
How can I prevent the compiler from removing the code I want to
measure?
With many C compilers, you can use volatile assembly blocks for
that. With LDC -O3, a regular assembly block also does the trick
currently:
```D
void main()
{
On Wednesday, 12 October 2022 at 10:09:31 UTC, Steven
Schveighoffer wrote:
I'm actually very surprised that just wrapping the statement in
an == expression doesn't do the trick, what is the possible
logic behind outlawing that?
I looked into it, there are actually two different places where
On Wednesday, 12 October 2022 at 02:15:55 UTC, Steven
Schveighoffer wrote:
Porting some C code to D
This results in an error:
I had the same issue, where the pattern was this:
```C
void f()
{
int err;
if (err = some_api_call()) {
printCode(err);
return;
}
if
On Monday, 3 October 2022 at 07:45:47 UTC, Chris Katko wrote:
I know there's gotta be some simple one liner function in D,
but I can't think of it.
I don't know if you're looking for type safety, but you can just
do `cast(float*) values.ptr;` or `cast(float[]) values[]`.
On Thursday, 15 September 2022 at 04:13:56 UTC, test123 wrote:
I hope we have github bugs.
It's being worked on.
Please help me create a bug report if who has free time and
bugs account.
Here you go: https://issues.dlang.org/show_bug.cgi?id=23336
On Tuesday, 13 September 2022 at 11:03:30 UTC, test123 wrote:
and upb_MiniTable_Enum can include a lot diff types. (for
example mixed diff size upb_MiniTable_Enum)
I think you'll need a `void*` array then, since pointers to
different structs can all implicitly convert to `void*`.
On Tuesday, 13 September 2022 at 10:45:03 UTC, test123 wrote:
Is there a way to init the __gshared fixed length
upb_MiniTable_Enum array ?
I don't think so. You could leave your array typed as
`validate_KnownRegex_enum_init_type` and access it through a
function that casts it to
On Tuesday, 13 September 2022 at 09:43:46 UTC, test123 wrote:
This will not work since the C have no array like D.
You can use a 0-size static array:
```D
struct mystruct {
uint32_t mask_limit; // Limit enum value that can be tested
with mask.
uint32_t value_count; // Number of
On Friday, 9 September 2022 at 16:41:54 UTC, Andrey Zherikov
wrote:
What's about new `compileOutput` trait that returns compiler
output?
```d
static assert(__traits(compileOutput, { }) ==
"message");
```
As a compiler dev, that sounds terrifying. It would make
basically every change to
On Wednesday, 7 September 2022 at 10:14:22 UTC, Injeckt wrote:
I guess you right. But I don't know how i gonna link libs when
I'm using "dmd main.d".
Another way is to add this to your code:
```D
pragma(lib, "User32");
```
On Wednesday, 17 August 2022 at 08:44:30 UTC, Ogi wrote:
Maybe I’m missing something?
I had the same problem, and came up with the following trick:
```D
enum itoa(int i) = i.stringof;
enum major = 3;
enum minor = 2;
enum patch = 1;
enum versionString = itoa!major ~ "." ~ itoa!minor ~ "." ~
On Tuesday, 16 August 2022 at 08:25:18 UTC, Diego wrote:
It seams huge in my opinion for an empty program
What are the best practices to reduce the size?
The problem is that the druntime, the run time library needed to
support many D features, is large and linked in its entirety by
default.
On Wednesday, 27 July 2022 at 18:19:34 UTC, pascal111 wrote:
The library link:
https://github.com/pascal111-fra/turbo-c-programs/blob/main/COLLECT2.H
It would help if the functions had a comment explaining what
they're supposed to do, but it looks like most of them are string
functions. In
On Wednesday, 27 July 2022 at 12:26:59 UTC, MyNameHere wrote:
```d
void Main(void* Instance)
{
WNDCLASSEXA WindowClass;
```
This is equivalent to `WNDCLASSEXA WindowClass =
WNDCLASSEXA.init;`
If the struct's fields all initialize to 0, the compiler would
simply set the variable's bytes
On Wednesday, 20 July 2022 at 00:33:06 UTC, Azi Hassan wrote:
Where did you find it though ? I checked dmd --help and man dmd
before making this thread, but to no avail.
It was implemented as an internal debugging tool, not a
documented feature: https://github.com/dlang/dmd/pull/6556
It
On Tuesday, 19 July 2022 at 21:43:01 UTC, Azi Hassan wrote:
I'm wondering if the offers has the option of executing the
parts that can be evaluated at compile time and then replacing
them with the result of this evaluation.
Try the `-vcg-ast` flag:
```D
import object;
import std;
void main()
On Monday, 20 June 2022 at 17:48:48 UTC, Antonio wrote:
Is there any way to specify that a variable, member or
parameter can't be null?
Depends on the type. Basic types can't be null. Pointers and
classes can always be `null`, though you could wrap them in a
custom library type that doesn't
On Wednesday, 15 June 2022 at 13:52:24 UTC, Christian Köstlin
wrote:
looks like there should be tons of annotations/attributes on it.
Because you have a template function, most attributes will be
inferred based on the Range type. `const` is not inferred, but
`popFront` mutates so it doesn't
On Tuesday, 7 June 2022 at 00:20:31 UTC, Ali Çehreli wrote:
> it's complaining about TypeInfo being absent.
What an unfortunate error message! Trying writeln() causes
equally weird error messages.
Walter just improved it! https://github.com/dlang/dmd/pull/14181
Perhaps try a [nightly
On Wednesday, 18 May 2022 at 20:05:05 UTC, HuskyNator wrote:
This will print:
```
0
50
nan
```
Which compiler and flags are you using? For me it just prints 50,
you might be stumbling on some (old) bugs in the DMD backend with
floating point registers. Examples of such bugs are:
On Tuesday, 10 May 2022 at 20:50:12 UTC, Alexander Zhirov wrote:
And if there are two compilers in the system - `dmd` and `ldc`,
which compiler chooses `dub.json`?
It depends on whether your DMD or LDC installation comes first in
your PATH environment variable. Both ship with a `dub`
On Tuesday, 10 May 2022 at 17:19:23 UTC, jmh530 wrote:
It would be nice if dub included a directory of example
configurations for common issues like this.
It has an example directory:
https://github.com/dlang/dub/tree/master/examples
If your configuration is missing, you could make a Pull
On Friday, 6 May 2022 at 09:24:06 UTC, vit wrote:
It look like examples at page
https://dlang.org/spec/function.html#ref-return-scope-parameters are no longer relevant.
They were recently updated to match the implementation in 2.100.
What difference are between `return scope`, `scope return`
On Tuesday, 3 May 2022 at 18:22:49 UTC, jmh530 wrote:
Does anyone have any idea what causes these types of errors?
Sounds like a stack overflow, maybe your code has a
complex/recursive part that makes DMD's call stack very deep.
On Friday, 29 April 2022 at 15:13:08 UTC, Tejas wrote:
It's not a keyword yet it's recognised specially by the
compiler... What?
It's not really recognized by the compiler, there's a little bit
of magic to print `string` in outputted D code (e.g. error
messages) instead of
On Friday, 29 April 2022 at 11:30:49 UTC, Andrey Zherikov wrote:
Is it a compiler issue so this shouldn't be allowed?
Members called `init` are in the process of being deprecated, see:
https://github.com/dlang/dmd/pull/12512
On Thursday, 28 April 2022 at 12:10:44 UTC, bauss wrote:
On Wednesday, 27 April 2022 at 15:40:49 UTC, Adam D Ruppe wrote:
but this got killed due to internal D politics. A pity.
A tale as old as time itself
In this case, it was actually a trailing whitespace in the
changelog entry making
On Thursday, 28 April 2022 at 11:22:15 UTC, Alexander Zhirov
wrote:
Are there any methods to get the screen resolution?
Example with GLFW:
https://github.com/dkorpel/glfw-d/blob/7a1eec60d427617c098d0e54a26cba796956a976/examples/empty-window/app.d#L118
Note that there can be multiple
On Wednesday, 27 April 2022 at 07:42:31 UTC, Alexander Zhirov
wrote:
```d
~/programming/d/pic $ dmd app.d
```
Try passing the `-i` flag: `dmd -i app.d`. This way, imported
modules are actually compiled and linked too. Currently it looks
like you import arsd, but then don't link the library,
On Thursday, 21 April 2022 at 12:41:08 UTC, WebFreak001 wrote:
which I think is a little bug-prone, but at least that would
solve my issues.
What issue do you have with it returning `true`? Note that this
compiles:
```D
@safe:
import std.sumtype;
void main()
{
SumType!(int, string) s =
On Monday, 18 April 2022 at 08:22:43 UTC, SMAOLAB wrote:
I tried to install D on a Windows 10 but encountered some
difficulties (even though I was reading the official D langage
tutorial available on the official website).
What went wrong when you used the DMD installer? Installing
Visual
On Saturday, 9 April 2022 at 10:39:33 UTC, vit wrote:
Why doesn't this code compile?
`proxySwap1` is lying about its attributes. It says `rhs` is
`scope`, but it escapes by assignment `this.ptr = rhs.ptr;`. The
compiler doesn't raise an error because it's marked `@trusted`.
`proxySwap2` is
On Tuesday, 5 April 2022 at 11:26:27 UTC, BoQsc wrote:
I'd like to know if there is similar function: that can check
if a **key** inside a [Associative Array][2] can be found.
You can use the `in` operator for that:
https://dlang.org/spec/hash-map.html#testing_membership
On Thursday, 27 January 2022 at 17:42:09 UTC, WhatMeWorry wrote:
So I guess my question is, is this just a matter of esthetics
or is some more nuanced goal at work here?
It doesn't matter much for constructors, but in general, the
problem with placing qualifiers in front is that it looks
On Tuesday, 25 January 2022 at 12:11:01 UTC, JG wrote:
Any ideas how one can achieve what is written in the subject
line?
```D
void f(T...)(auto ref T args, string file = __FILE__, int line =
__LINE__)
{
writeln(file, ":", line, ": ", args);
}
```
On Wednesday, 5 January 2022 at 05:38:45 UTC, Tejas wrote:
The entire reason I wanted to get a `ref` was so that I can
avoid the `*` :(
I don't know what the real code behind the reduced example is,
but maybe you can structure your code such that the subsequent
modification `c = 10` happens
On Tuesday, 21 December 2021 at 07:08:53 UTC, bauss wrote:
It should at the very least warn people about functions that
may throw errors.
What is "It"? I was looking to make a spec PR, but it already
says here:
https://dlang.org/spec/function.html#nothrow-functions
Nothrow functions can
On Thursday, 25 November 2021 at 12:09:55 UTC, Dennis wrote:
This should also be fixed in the spec.
Filed as:
Issue 22543 - [spec] grammar blocks use unspecified notation:
https://issues.dlang.org/show_bug.cgi?id=22543
Issue 22544 - [spec] C++ and Objective-C are not single tokens
On Thursday, 25 November 2021 at 10:41:05 UTC, Rumbu wrote:
Well:
```
#line IntegerLiteral Filespec? EndOfLine
```
Having EndOfLine at the end means for me that there are no
other EOLs between, otherwise this syntax should pass but it's
not (DMD last):
```d
#line 12
"source.d"
```
The
On Thursday, 25 November 2021 at 08:06:27 UTC, rumbu wrote:
Also, this works also for #line, even if the specification
tells us that all tokens must be on the same line
Where does it say that?
On Wednesday, 27 October 2021 at 16:54:49 UTC, Simon wrote:
What is the equivalent in D?
With LDC, you have:
```D
import ldc.intrinsics: llvm_debugtrap;
```
Combining that with previous answers, you can make something like
this:
```D
void debugbreak() nothrow @nogc @trusted {
On Tuesday, 19 October 2021 at 16:20:39 UTC, Charles Hixson wrote:
core.exception.RangeError@source/freqs.d(32): Range violation
??:? _d_arrayboundsp [0x56041325a70d]
??:? _Dmain [0x560413233beb]
DMD64 D Compiler v2.097.2
By the way, if you upgrade to 2.098.0, you get a
On Saturday, 16 October 2021 at 19:28:04 UTC, DLearner wrote:
How does one obtain from strVar:
1. The type of fooVar;
`typeof(mixin(strVar))`
2. The value of fooVar?
`mixin(strVar)`
On Thursday, 14 October 2021 at 11:08:24 UTC, bauss wrote:
What could be useful is a new trait (to not break existing
code) like __traits(warning, ...) which does the same as
__traits(compiles) but also checks whether the arguments would
cause a warning by the compiler.
N! Warnings suck.
On Saturday, 2 October 2021 at 16:57:48 UTC, max haughton wrote:
Do you have optimizations turned on? i.e. are you compiling
with -O by accident?
Not needed, it's declared:
```D
pragma(inline, true) @property _timezone() @safe const pure
nothrow @nogc
```
DMD does inlining in the frontend,
On Wednesday, 15 September 2021 at 19:59:43 UTC, james.p.leblanc
wrote:
However, with various combinations of templates, UDAs, and
mixins it has not been easy.
Apart from -mixin, there's also the undocumented -vcg-ast switch
that prints the AST before code generation, showing instantiated
On Monday, 13 September 2021 at 03:21:37 UTC, leikang wrote:
Are there any recommended books or videos to learn about the
principles of compilation? What else should I learn besides the
principles of compilation?
Check out this video: [DConf 2016 Day 2 Keynote: Spelunking D
Compiler
On Saturday, 4 September 2021 at 09:42:46 UTC, Per Nordlöw wrote:
Yes, but they are lexed and parsed, right?
Right, but that's the case regardless of `version(StdUnittest)`.
On Saturday, 21 August 2021 at 08:14:22 UTC, Виталий Фадеев wrote:
Any more ?
CPP2D
https://github.com/lhamot/CPP2D
On Tuesday, 17 August 2021 at 13:46:22 UTC, z wrote:
Is it possible to set a "position" on a union member?
You can use anonymous `struct` and `union` blocks.
```D
union UnionExample{
uint EAX;
struct {
//upper
union {
ushort EAHX;
struct {
Thanks for this solution as well.
On Tuesday, 10 August 2021 at 13:10:23 UTC, Paul Backus wrote:
Would definitely be nice to have this in the language, though.
Do you know more use cases for this?
Thanks! I was considering turning the static array into an
AliasSeq directly, but casting it to a struct and doing tupleof
on that is pretty smart.
On Tuesday, 10 August 2021 at 12:50:55 UTC, jfondren wrote:
And I don't see very many static-array-generic functions in
Phobos.
Indeed, static
```D
struct Vec {
float x, y, z;
}
void setPosition(float x, float y, float z) {
}
void main() {
Vec posS = Vec(10, 20, 30);
setPosition(posS.tupleof); // pass
float[3] posA = [10, 20, 30];
setPosition(posA.tupleof); // Error: no property `tupleof`
for type `float[3]`
}
On Sunday, 8 August 2021 at 01:37:42 UTC, SealabJaster wrote:
Could this be fixed? Or is this intentional?
Of course it *could*, anyone can go to [the dlang
wiki](https://wiki.dlang.org/LDC) and add a page for it. Johan
Engelen is still working on [improving the
On Friday, 6 August 2021 at 12:30:16 UTC, JG wrote:
I guess this means that tracy has been integrated?
If this is so is it documented anywhere how to use it?
Stefan Koch's WIP tracy integration in DMD is completely separate
from Johan Engelen's time tracing added to LDC in 1.25.0. Note
that
On Friday, 23 July 2021 at 18:53:06 UTC, JG wrote:
Any suggestion on how to try and improve the build time. I am
currently using dub.
You can try profiling it with LDC 1.25 or later. Add this to
dub.sdl:
```
dflags "--ftime-trace" platform="ldc"
dflags "--ftime-trace-file=./my-trace.json"
1 - 100 of 330 matches
Mail list logo