On Tuesday, 27 February 2024 at 07:48:20 UTC, Iain Buclaw wrote:
Will DMD still work with macOS 12.7.x and Xcode 14.2?
The Mac Pro x64 (waste bin model) doesn‘t get any updates
anymore, as it first came out in 2013.
Yes, all issues reported by the Xcode 15 linker were subtle
corruptions of
On Tuesday, 27 February 2024 at 06:08:51 UTC, Danilo wrote:
On Monday, 26 February 2024 at 12:55:32 UTC, Iain Buclaw wrote:
This implies that the **minimum required version of DMD** to
build on Mac OSX 13+ will be 2.107.1 / 2.108.x.
Will DMD still work with macOS 12.7.x and Xcode 14.2?
The
On Monday, 26 February 2024 at 12:55:32 UTC, Iain Buclaw wrote:
This implies that the **minimum required version of DMD** to
build on Mac OSX 13+ will be 2.107.1 / 2.108.x.
Will DMD still work with macOS 12.7.x and Xcode 14.2?
The Mac Pro x64 (waste bin model) doesn‘t get any updates
On Monday, 26 February 2024 at 12:55:32 UTC, Iain Buclaw wrote:
Hi,
Over the last 2-3 years, there's been a slow build-up of issues
on MacOS that have now come home to roost, and they could no
longer be ignored/worked arounded in CI as GHA has made Xcode
15.0.1 the default SDK since ~end of
Wow! This is really good work. It's much appreciated!
On Monday, 26 February 2024 at 12:55:32 UTC, Iain Buclaw wrote:
Hi,
Over the last 2-3 years, there's been a slow build-up of issues
on MacOS that have now come home to roost, and they could no
longer be ignored/worked arounded in CI as GHA has made Xcode
15.0.1 the default SDK since ~end of
Hi,
Over the last 2-3 years, there's been a slow build-up of issues
on MacOS that have now come home to roost, and they could no
longer be ignored/worked arounded in CI as GHA has made Xcode
15.0.1 the default SDK since ~end of January/February 2024.
**RESOLVED**: Linker errors
- [ld:
". [1]. Internally this is implemented using
a string appender [2, 3].
However, this string appender is a member of the class, and this is the
source of the bug, because it's shared among all the calls to the
logger. It's usually protected by a mutex, so different threads don't
mess with
On Wednesday, 1 November 2023 at 17:26:42 UTC, Christian Köstlin
wrote:
...
It's really weird: https://run.dlang.io/is/fIBR2n
Interesting because I wrote a similar test as you did. And that
increment (Or lack of) called my attention, If I can I'll try and
take a look at that (std.logger)
n foo");
return "Hello, world.";
}
```
...
Unless you do:
string s;
info(s=foo());
I think this is a bug, or at least very weird behavior.
Matheus.
It's really weird: https://run.dlang.io/is/fIBR2n
...
Unless you do:
string s;
info(s=foo());
I think this is a bug, or at least very weird behavior.
Matheus.
be documented. Should I open a bug
about it?
Hi,
Today I have just found a weird bug in std.logger. Consider:
```d
import std.logger : info;
void main() {
info(foo());
}
auto foo() {
info("In foo");
return "Hello, world.";
}
```
The output is:
```
2023-10-31T20:41:05.274 [info] onlineapp.d:8:foo In
https://issues.dlang.org/show_bug.cgi?id=21588
--- Comment #6 from dlangBugzillaToGithub ---
THIS ISSUE HAS BEEN MOVED TO GITHUB
https://github.com/dlang/visuald/issues/239
DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO
GITHUB
--
https://issues.dlang.org/show_bug.cgi?id=24163
Issue ID: 24163
Summary: Floating-point variadic array bug
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: normal
Priority
On Thursday, 14 September 2023 at 03:23:48 UTC, An Pham wrote:
import std.stdio;
void main()
{
float f = 6394763.345f;
import std.format : sformat;
char[80] vBuffer = void;
writeln("6394763.345 = ", sformat(vBuffer[], "%.4f",
f));
On Wednesday, September 13, 2023 9:23:48 PM MDT An Pham via Digitalmars-d-
learn wrote:
> import std.stdio;
>
> void main()
> {
> float f = 6394763.345f;
>
> import std.format : sformat;
>
> char[80] vBuffer = void;
> writeln("6394763.345 = ",
import std.stdio;
void main()
{
float f = 6394763.345f;
import std.format : sformat;
char[80] vBuffer = void;
writeln("6394763.345 = ", sformat(vBuffer[], "%.4f", f));
}
Output
6394763.345 = 6394763.5000
On 6/30/23 17:42, Cecil Ward wrote:
> https://dlang.org/spec/hash-map.html#testing_membership in the language
> docs, under associative arrays - 13.3 testing membership. Would anyone
> else care to try that example out as that might be quicker?
I tried it by
1) Putting all the code inside a
On Friday, 30 June 2023 at 19:05:23 UTC, Cecil Ward wrote:
I have code roughly like the following:
dstring str = "name"d;
uint ordinal = (( str in Decls.ordinals ) !is null) ?
Decls.ordinals[ str ] : -1;
struct Decls
{
uint[ dstring] ordinals;
}
//and
On Friday, 30 June 2023 at 21:25:23 UTC, H. S. Teoh wrote:
On Fri, Jun 30, 2023 at 07:05:23PM +, Cecil Ward via
Digitalmars-d-learn wrote: [...]
It would help if you could post the complete code that
reproduces the problem. Or, if you do not wish to reveal your
code, reduce it to a
https://forum.dlang.org/thread/duetqujuoceancqtj...@forum.dlang.org
Try HashMap see if it is still a problem.
If no, then it's another example of the built in AA problem.
On Fri, Jun 30, 2023 at 07:05:23PM +, Cecil Ward via Digitalmars-d-learn
wrote:
[...]
It would help if you could post the complete code that reproduces the
problem. Or, if you do not wish to reveal your code, reduce it to a
minimal case that still exhibits the same problem, so that we can
On 6/30/23 13:16, Cecil Ward wrote:
On Friday, 30 June 2023 at 19:58:39 UTC, FeepingCreature wrote:
Note that you can do `uint ordinal = Decls.ordinals.get(str, -1);`.
Is the second argument an ‘else’ then, my friend?
Yes, .get and friends appear in this table:
On Friday, 30 June 2023 at 19:58:39 UTC, FeepingCreature wrote:
On Friday, 30 June 2023 at 19:05:23 UTC, Cecil Ward wrote:
I have code roughly like the following:
dstring str = "name"d;
uint ordinal = (( str in Decls.ordinals ) !is null) ?
Decls.ordinals[ str ] : -1;
struct Decls
On Friday, 30 June 2023 at 20:12:08 UTC, Ali Çehreli wrote:
On 6/30/23 12:05, Cecil Ward wrote:
> I have code roughly like the following:
>
> dstring str = "name"d;
Aside: One almost never needs dstring.
> uint ordinal = (( str in Decls.ordinals ) !is null) ?
> Decls.ordinals[ str ]
On 6/30/23 12:05, Cecil Ward wrote:
> I have code roughly like the following:
>
> dstring str = "name"d;
Aside: One almost never needs dstring.
> uint ordinal = (( str in Decls.ordinals ) !is null) ?
> Decls.ordinals[ str ] : -1;
>
> struct Decls
> {
> uint[ dstring]
On Friday, 30 June 2023 at 19:05:23 UTC, Cecil Ward wrote:
I have code roughly like the following:
dstring str = "name"d;
uint ordinal = (( str in Decls.ordinals ) !is null) ?
Decls.ordinals[ str ] : -1;
struct Decls
{
uint[ dstring] ordinals;
}
//and
I have code roughly like the following:
dstring str = "name"d;
uint ordinal = (( str in Decls.ordinals ) !is null) ?
Decls.ordinals[ str ] : -1;
struct Decls
{
uint[ dstring] ordinals;
}
//and
Decls.ordinals[ str ] = ordinal_counter++;
The problem is that it always
UPDATE: life is too short to debug dlang built-in AA to right,
let's just use HashMap from emsi_containers
https://github.com/mw66/grpc-d/blob/master/source/grpc/server/package.d#L25
```
HashMap!(string, ServiceHandlerInterface) services;
```
After this change, the problem goes away.
I think
Hi,
I recently found and started playing with the grpc-d-core[1]
package, and my program structure looks like this:
https://github.com/mw66/grpc-demo/blob/master/source/main.d
If I run L64 alone (without L66 ~ 79 grpc-d part):
```
64: auto t = new Thread({fun();}).start();
```
it works fine.
https://issues.dlang.org/show_bug.cgi?id=23442
Walter Bright changed:
What|Removed |Added
Keywords||dll
CC|
https://issues.dlang.org/show_bug.cgi?id=16338
RazvanN changed:
What|Removed |Added
Status|NEW |RESOLVED
CC|
https://issues.dlang.org/show_bug.cgi?id=23744
--- Comment #4 from Bradley Chatha ---
Minimal reproduction:
```
void main()
{
switch(0)
{
static if (false)
case 0:
int a;
a = 0;
break;
default: break;
}
}
https://issues.dlang.org/show_bug.cgi?id=23744
Bradley Chatha changed:
What|Removed |Added
Summary|Static foreach has |Bug/Edge case - Shorthand
On Thursday, 16 March 2023 at 04:31:11 UTC, Elfstone wrote:
On Thursday, 16 March 2023 at 04:04:51 UTC, Elfstone wrote:
On Thursday, 16 March 2023 at 03:44:19 UTC, Elfstone wrote:
[...]
Correction.
With or without comments, mostly it doesn't compile,
occasionally it does!
I have no idea.
On Thursday, 16 March 2023 at 04:04:51 UTC, Elfstone wrote:
On Thursday, 16 March 2023 at 03:44:19 UTC, Elfstone wrote:
On Thursday, 16 March 2023 at 03:40:04 UTC, Elfstone wrote:
[...]
Oops, the above code compiles, because I added comments!!!
Now this really doesn't compile:
```D
struct
On Thursday, 16 March 2023 at 03:44:19 UTC, Elfstone wrote:
On Thursday, 16 March 2023 at 03:40:04 UTC, Elfstone wrote:
[...]
Oops, the above code compiles, because I added comments!!!
Now this really doesn't compile:
```D
struct Matrix(S, size_t M, size_t N)
{
}
alias Vec3(S) = Matrix!(S,
```D
struct Matrix(S, size_t M, size_t N)
{
}
alias Vec3(S) = Matrix!(S, 3, 1);
void main()
{
import std.stdio;
writeln(is(Vec3!float == Matrix!(S, 3, 1), S)); // `alias`
`S` is defined here
writeln(is(Matrix!(float, 3, 1) == Matrix!(S, 3, 1), S)); //
Error: declaration `S` is
On Thursday, 16 March 2023 at 03:40:04 UTC, Elfstone wrote:
```D
struct Matrix(S, size_t M, size_t N)
{
}
alias Vec3(S) = Matrix!(S, 3, 1);
void main()
{
import std.stdio;
writeln(is(Vec3!float == Matrix!(S, 3, 1), S)); // `alias`
`S` is defined here
writeln(is(Matrix!(float, 3,
https://issues.dlang.org/show_bug.cgi?id=23744
--- Comment #1 from Bradley Chatha ---
Ok, it definitely seems to be its own seperate bug:
https://godbolt.org/z/xKWz1h8dT
--
On Friday, 3 March 2023 at 01:37:42 UTC, Richard (Rikki) Andrew
Cattermole wrote:
On 03/03/2023 2:33 PM, ryuukk_ wrote:
So it is a DMD bug?
Yes and thanks to you I can now say that we can absolutely get
rid of DllMain requirement for DLLs!
glad the outcome is positive, and i apologies
be
summarized as "that's what ends up happening due to the details
of the implementation".
4. is this a bug in DMD or my code is wrong?
I would say the code is wrong in principle, though as you've
noted it can still work in some specific circumstances.
5. if it's wrong, then why does
I added a note here: https://issues.dlang.org/show_bug.cgi?id=20737
On 03/03/2023 2:33 PM, ryuukk_ wrote:
So it is a DMD bug?
Yes and thanks to you I can now say that we can absolutely get rid of
DllMain requirement for DLLs!
();
}
```
```d
Stuff[] stuffs;
```
The problem here is dmd isn't initializing TLS with a value,
but TLS itself is working.
So it is a DMD bug?
This works:
```d
extern(C) void main()
{
Stuff[5] temp = [
Stuff(),
Stuff(),
Stuff(),
Stuff(),
Stuff(),
];
stuffs = temp[];
stuffs[0].do_something();
}
```
```d
Stuff[] stuffs;
```
The problem here is dmd isn't initializing TLS with a
. why it doesn't work when DMD is invoked once for build/link
4. is this a bug in DMD or my code is wrong?
5. if it's wrong, then why does it compile/no error?
```sh
#!/usr/bin/env bash
set -e
build_dmd() {
echo "build dmd"
dmd \
-debug -g \
-m64 -vcolumns -
On Friday, 3 March 2023 at 01:07:07 UTC, ryuukk_ wrote:
I couldn't figure out dustmite, so i started from 0 and managed
to hit something:
https://github.com/ryuukk/dmd_bug
``Assertion failed: array index out of bounds, file game\app.d,
line 5``
Wich indicates probably TLS problem?
I couldn't figure out dustmite, so i started from 0 and managed
to hit something:
https://github.com/ryuukk/dmd_bug
``Assertion failed: array index out of bounds, file game\app.d,
line 5``
Wich indicates probably TLS problem?
This now reminds me of:
On 03/03/2023 10:38 AM, ryuukk_ wrote:
On Thursday, 2 March 2023 at 21:21:14 UTC, Richard (Rikki) Andrew
Cattermole wrote:
There isn't anything we can do without source.
But here is what I would do in this situation:
1. Look at the assembly at the point of debug break, from here it
should
On 3/2/23 15:34, ryuukk_ wrote:
> the problem is not that it can run in the background, the problem is
> figuring out
>
> 1. how to install
> 2. how to setup
> 3. how to run
I haven't used it myself but dustmite seems to be integrated into dub.
'dub dustmite <...>'
Ali
On 03/03/2023 12:34 PM, ryuukk_ wrote:
1. how to install
Already is.
Comes with dmd and ldc.
You can also just do ``$ dub run digger -- args``.
2. how to setup > 3. how to run
It is a bit of a pain but the basics is you need some sort of
compilation command, list of sources and a test
e to a minimal example
that still exhibits the same problem, good for bug reports that
are easily reproducible. Also useful if you don't want to
publicly share the code for whatever reason, but still want to
provide enough information so that the dmd devs can find the
problem and fix it.
[...]
Th
ve something we can work with.
> >
> > [...] 2. do you have a link for a guide how to setup "dustmite"?
https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/
Dustmite automatically reduces your code to a minimal example that still
exhibits the same
On Thursday, 2 March 2023 at 21:38:23 UTC, ryuukk_ wrote:
On Thursday, 2 March 2023 at 21:21:14 UTC, Richard (Rikki)
Andrew Cattermole wrote:
There isn't anything we can do without source.
But here is what I would do in this situation:
1. Look at the assembly at the point of debug break, from
On Thursday, 2 March 2023 at 21:21:14 UTC, Richard (Rikki) Andrew
Cattermole wrote:
There isn't anything we can do without source.
But here is what I would do in this situation:
1. Look at the assembly at the point of debug break, from here
it should give you hints as to why its trying to
There isn't anything we can do without source.
But here is what I would do in this situation:
1. Look at the assembly at the point of debug break, from here it should
give you hints as to why its trying to write to dawn.assets.Resource
init array.
2. Dustmite, so we have something we can
It crashes with a weird message, address doesn't match the
mangled name:
``C:\dev\kdom\projects\dawn\gl\glad\loader.d``
inside: ``module dawn.gl.glad.loader;``
![screenshot](https://i.imgur.com/sY2KcgR.png)
Hello,
I encountered a weird issue, my program segfault when i feed DMD
with my files and static libs
It doesn't when i compile with LDC
If i split the compile/link in 2 different steps, then all works
correctly
DMD (1step: ⛔):
https://issues.dlang.org/show_bug.cgi?id=7680
Nick Treleaven changed:
What|Removed |Added
Keywords||accepts-invalid
--- Comment #2 from Nick
https://issues.dlang.org/show_bug.cgi?id=7680
Nick Treleaven changed:
What|Removed |Added
CC||n...@geany.org
--- Comment #1 from Nick
https://issues.dlang.org/show_bug.cgi?id=23744
Iain Buclaw changed:
What|Removed |Added
Priority|P1 |P2
--
https://issues.dlang.org/show_bug.cgi?id=23646
Iain Buclaw changed:
What|Removed |Added
Priority|P1 |P3
--
https://issues.dlang.org/show_bug.cgi?id=23744
Issue ID: 23744
Summary: Static If Compilation Differences / Attribute
inference bug
Product: D
Version: D2
Hardware: Other
OS: Mac OS X
Status: NEW
|--- |FIXED
--- Comment #6 from Dlang Bot ---
dlang/dmd pull request #14651 "fix Issue 23195 - Win64 function ABI bug for
small non-POD arguments" was merged into master:
- 9a6324fa38859c5ad67592f590234cbb36ccfbb2 by Walter Bright:
fix Issue 23195 - Win64 function ABI bug for sma
https://issues.dlang.org/show_bug.cgi?id=8901
Paul Backus changed:
What|Removed |Added
Status|REOPENED|RESOLVED
CC|
https://issues.dlang.org/show_bug.cgi?id=8901
Ate Eskola changed:
What|Removed |Added
Status|RESOLVED|REOPENED
CC|
|--- |FIXED
--- Comment #12 from Dlang Bot ---
dlang/dmd pull request #14838 "fix Issue 23598 - Circular reference bug with
static if and eponymous…" was merged into master:
- 9295ea950c3b1badc8662aff40b3ce868ff142cf by Walter Bright:
fix Issue 23598 - Circular reference bug w
https://issues.dlang.org/show_bug.cgi?id=23646
Max Samukha changed:
What|Removed |Added
See Also||https://issues.dlang.org/sh
https://issues.dlang.org/show_bug.cgi?id=23598
Walter Bright changed:
What|Removed |Added
See Also||https://issues.dlang.org/sh
https://issues.dlang.org/show_bug.cgi?id=23646
--- Comment #1 from Max Samukha ---
Further reduced:
alias aliases(a...) = a;
alias Components = Dependencies!();
template Dependencies()
{
alias Dependencies = aliases!(Top.DirectDependencies);
// alias Dependencies =
https://issues.dlang.org/show_bug.cgi?id=23646
Issue ID: 23646
Summary: A nastier forward reference bug
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: rejects-valid
Severity
https://issues.dlang.org/show_bug.cgi?id=23598
Max Samukha changed:
What|Removed |Added
See Also||https://issues.dlang.org/sh
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #11 from Walter Bright ---
Circular references that depend on the arms of a `static if` are always a
likely source of chicken-egg problems.
--
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #10 from Dlang Bot ---
@WalterBright created dlang/dmd pull request #14838 "fix Issue 23598 - Circular
reference bug with static if and eponymous…" fixing this issue:
- fix Issue 23598 - Circular reference bug w
https://issues.dlang.org/show_bug.cgi?id=23598
Walter Bright changed:
What|Removed |Added
Summary|Another nasty forward |Circular reference bug
https://issues.dlang.org/show_bug.cgi?id=23598
Max Samukha changed:
What|Removed |Added
Severity|blocker |normal
--- Comment #9 from Max Samukha ---
https://issues.dlang.org/show_bug.cgi?id=23598
Iain Buclaw changed:
What|Removed |Added
See Also||https://issues.dlang.org/sh
https://issues.dlang.org/show_bug.cgi?id=22981
Iain Buclaw changed:
What|Removed |Added
See Also||https://issues.dlang.org/sh
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #8 from Walter Bright ---
Looking at expandMembers, perhaps this could be done in two passes - once for
the top level conditional compilation, then check oneMember, then again for the
rest.
--
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #7 from Walter Bright ---
Perhaps I can make this work by noticing if the `static if` member is the only
member of the template, so it can be eagerly evaluated?
--
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #6 from Walter Bright ---
What seems to be happening is the first time it goes through `template sort`,
it cannot set `aliasdecl` because the two `alias sort` assignments are hidden
behind conditional compilation.
Hence `aliasdecl` is
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #5 from Walter Bright ---
I suspect that when the sort template is instantiated, it is too eager to
evaluate its arguments. It should just go as far as seeing String is a struct,
and not attempt to semantic its contents.
--
https://issues.dlang.org/show_bug.cgi?id=23598
Walter Bright changed:
What|Removed |Added
CC||bugzi...@digitalmars.com
--- Comment #4
---
@ibuclaw created dlang/dmd pull request #14826 "dmd.aggregate: Define importAll
override for AggregateDeclaration" fixing this issue:
- fix Issue 22981 - Another forward reference bug involving a string mixin
https://github.com/dlang/dmd/pull/14826
--
---
@ibuclaw created dlang/dmd pull request #14826 "dmd.aggregate: Define importAll
override for AggregateDeclaration" fixing this issue:
- fix Issue 23598 - Another nasty forward reference bug
https://github.com/dlang/dmd/pull/14826
--
On Saturday, 7 January 2023 at 02:31:14 UTC, Ali Çehreli wrote:
On 1/6/23 17:50, Arredondo wrote:
> Would anyone volunteer to file a bug report?
Me! Me! :)
https://issues.dlang.org/show_bug.cgi?id=23604
Ali
Thanks a lot :D
Arredondo.
On 1/6/23 17:50, Arredondo wrote:
> Would anyone volunteer to file a bug report?
Me! Me! :)
https://issues.dlang.org/show_bug.cgi?id=23604
Ali
On Saturday, 7 January 2023 at 00:52:20 UTC, Ali Çehreli wrote:
Although that difference is a bug, iota does have a special
floating point implementation to prevent the accumulation of
floating point errors.
Thank you for this clarification Ali. I appreciate the fact
On 1/6/23 15:23, Arredondo wrote:
> then you get an exception (incorrect startup parameters).
Although that difference is a bug, iota does have a special floating
point implementation to prevent the accumulation of floating point
errors. I mention it as item 4 here:
ht
Consider:
```
import std.range.iota;
auto r = iota(5, 0);
```
`r` is an empty range, as it should be. But if you call:
```
auto r = iota(5.0, 0);
```
then you get an exception (incorrect startup parameters).
This was unexpected, and a pain to debug. What is the rationale
behind iota having
https://issues.dlang.org/show_bug.cgi?id=23598
--- Comment #2 from Max Samukha ---
(In reply to Iain Buclaw from comment #1)
> Related to issue 23595, and a WIP patch I have in the works fixes this test
> case too.
Great! Thanks!
--
https://issues.dlang.org/show_bug.cgi?id=23598
Iain Buclaw changed:
What|Removed |Added
CC||ibuc...@gdcproject.org
See Also|
https://issues.dlang.org/show_bug.cgi?id=23598
Issue ID: 23598
Summary: Another nasty forward reference bug
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: rejects-valid
https://issues.dlang.org/show_bug.cgi?id=3926
RazvanN changed:
What|Removed |Added
Status|NEW |RESOLVED
CC|
On Saturday, 19 November 2022 at 14:07:59 UTC, Nick Treleaven
wrote:
Hi,
The following seems like a bug to me (reduced code, FILE*
changed to int*):
```d
@safe:
struct LockedFile
{
private int* fps;
auto fp() return scope => fps;
}
void main()
{
int* p;
{
auto
https://issues.dlang.org/show_bug.cgi?id=21151
Iain Buclaw changed:
What|Removed |Added
Priority|P3 |P2
--
https://issues.dlang.org/show_bug.cgi?id=7680
Iain Buclaw changed:
What|Removed |Added
Priority|P2 |P3
--
https://issues.dlang.org/show_bug.cgi?id=3926
Iain Buclaw changed:
What|Removed |Added
Priority|P2 |P3
--
1 - 100 of 5273 matches
Mail list logo