Commit graph

726 commits

Author SHA1 Message Date
Razvan Nitu
636e61ea4d
Deprecate traits(isVirtualFunction) and traits(getVirtualFunctions) (#14802) 2023-01-20 10:11:37 +02:00
Iain Buclaw
815eb678c7 fix Issue 23626 - [REG2.096] Template deduction with auto const ref Args... and delegate 2023-01-15 17:57:42 +01:00
Steven Schveighoffer
4b8496192b Avoid GC for allocating traceinfo. Allow traces for
InvalidMemoryOperationError and other sensitive errors.
Fixes 20650,16641,22616.
2022-12-26 04:24:02 +01:00
Nick Treleaven
8cc27077c5
Allow multiple message arguments for static assert (#14611)
Allow multiple message arguments for static assert

Signed-off-by: Razvan Nitu <razvan.nitu1305@gmail.com>
Merged-on-behalf-of: Razvan Nitu <razvan.nitu1305@gmail.com>
2022-12-19 15:06:48 +01:00
Razvan Nitu
a90ed72920
Fix Issue 15414 - __traits(getAttributes) should error if the function has multiple overloads (#14554) 2022-11-28 17:16:41 +02:00
Nick Treleaven
deb7c92408
Fix Issue 23480 - non-empty ForStatement Increment clause should requ… (#14638)
* Fix Issue 23480 - non-empty ForStatement Increment clause should require a side effect

* Fix fail_arrayop2

* Move test for false Increment

* Ignore dotTemplateDeclaration too

* Avoid workaround

* Change error to deprecation

* Add changelog
2022-11-15 15:49:30 +02:00
Iain Buclaw
004ae0b876 Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-11-14 19:41:25 +00:00
Iain Buclaw
2a17f4838b purge changelog 2022-11-14 19:33:11 +00:00
Iain Buclaw
a6b60d2b95 merge_master: Fix changelog names so they get picked up 2022-11-01 13:54:05 +00:00
Iain Buclaw
dc83348131 Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-11-01 11:39:15 +00:00
Dennis
7782954ccb
Put array literals on the stack only with dip1000 (#14594) 2022-11-01 10:07:07 +02:00
Ate Eskola
a658f02da9
Fix security issue 22495 (#14538)
Fix security issue 22495 - unicode bidirectional controls should be forbidden.
2022-10-29 06:05:31 +08:00
Iain Buclaw
7c0a6512fd changelog: Clarify naming convention of changelog entries that are now picked up by changed.d 2022-10-28 15:30:59 +01:00
Dennis
92299d818d
Fix issue 22306 - scope array variable should be stack allocated (#14562)
* Fix issue 22306 - scope array variable should be stack allocated

* Update changelog/scope-array-on-stack.dd

Co-authored-by: Max Haughton <maxhaton@gmail.com>

Co-authored-by: Max Haughton <maxhaton@gmail.com>
2022-10-18 12:32:27 -07:00
Bastiaan Veelo
75384c9245 Windows: Double dmd.exe stack limit to 16 MB
DMD fails on some projects where LDC does not. LDC increased its stack space to 16 MB in ldc-developers/ldc#3921.
2022-10-18 15:08:34 +02:00
Iain Buclaw
d8e1d42b6d Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-10-17 01:37:16 +00:00
Dennis
1188adc84f
Implement DIP1035 - system variables (#14478)
* Remove global `@system:`  annotations from C headers

* Implement DIP1035 - system variables
2022-10-13 17:07:59 -07:00
Iain Buclaw
2893fabc9d changelog: Fix changelog names so they get picked up 2022-10-12 15:06:33 +02:00
mhh
81f5c8b354 Enable shortened methods by default
The preview flag will still work but will print a deprecation message
2022-10-11 01:41:29 +09:00
Iain Buclaw
422351e0c4 Prefix changelogs with either dmd. or druntime. 2022-10-10 16:16:51 +09:00
Iain Buclaw
4c1062e802 Move druntime changelogs to top-level 2022-10-10 16:16:51 +09:00
Martin Kinkelin
c5337c88c8
Add predefined version D_Optimized when compiling with -O (#14245)
* Add predefined version `D_Optimized` when compiling with `-O`

So that code can be aware of whether it's compiled with `-O`, e.g., to
distinguish between debug and optimized release builds (not necessarily
using `-release`).

* [update changelog/d_optimized.dd]

Co-authored-by: Petar Kirov <petar.p.kirov@gmail.com>

Co-authored-by: Petar Kirov <petar.p.kirov@gmail.com>
2022-10-05 05:28:03 +03:00
Martin Nowak
578686af57 Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-09-10 15:22:54 +02:00
Martin Nowak
e2cf2d847c purge changelog 2022-09-10 15:20:30 +02:00
wolframw
825826dd01
Fix Issue 13123 - Disallow throwing contracts for nothrow functions 2022-08-30 22:22:59 +02:00
Dennis
5843effb01
Deprecate version/debug integers (#14330) 2022-07-26 09:37:30 +03:00
Nick Treleaven
418230d944
Make new AA allocate the associative array Impl (#14257)
* Make `new` on an associative array allocate the AA Impl

Fixes https://issues.dlang.org/show_bug.cgi?id=10535.
2022-07-25 22:13:22 +08:00
Iain Buclaw
b7b29ca161 Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-07-09 17:05:59 +02:00
RazvanN7
2c336dfa82 Fix Issue 21443 - scope (failure) with a return breaks safety 2022-07-07 14:18:10 +00:00
Iain Buclaw
81e4682f72
fix Issue 22134 - Deprecate returning a discarded void value from a function (#12898)
fix Issue 22134 - Deprecate returning a discarded void value from a function

Signed-off-by: Martin Kinkelin <kinke@users.noreply.github.com>
Signed-off-by: Razvan Nitu <RazvanN7@users.noreply.github.com>
Merged-on-behalf-of: unknown
2022-07-07 06:19:04 +00:00
Geod24
b3cc517966 Allow -preview=in only with extern(D|C++)
The intent of `-preview=in` is to make `in` the go-to storage class for input parameters in D.
However it is D centric, as it is an enhanced version of `scope const ref`.
As non-`extern(D)` functions usually are expected to match a specific ABI,
using `in` is hardly a good idea.

However, as C++, also have a "go to" storage class for input parameters (`const T&`),
`in` can also be applied on `extern(C++)` function in order to bind to `const T&` parameters.
This also allows to expose a closer API for a function than via `const ref`,
as `in` will allow to bind rvalues to `const T&`, as in C++.
2022-06-20 12:56:14 +00:00
Dennis Korpel
870ac07a16 Remove -dip1000 influence on immutable conversion 2022-05-26 21:42:58 +00:00
Iain Buclaw
c886ad5817 dmd.dtoh: Emit 'final' keyword when generating C++11 compatible headers 2022-05-25 14:30:58 +02:00
Iain Buclaw
c68dd0063f dmd.dtoh: Emit 'override' keyword when generating C++11 compatible headers 2022-05-25 12:38:28 +02:00
Dennis
3bae88b77a
Update changelog for dip1000 deprecations (#14102) 2022-05-16 18:38:29 +03:00
Iain Buclaw
c0fcba0b6b Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-05-15 19:27:02 +02:00
Martin Nowak
a53934d18e purge changelog 2022-05-15 11:53:21 +02:00
Martin Kinkelin
f5983f8b50
Add __traits(classInstanceAlignment) (#14063)
* Add __traits(classInstanceAlignment)

Tackling the compiler part of issue 16508.

* [remove `align(N) class C {}` tests - no ClassDeclaration.alignment field]

Filed as issue 23081.
2022-05-13 11:55:01 +03:00
Jasmine Hegman
11a7a6e698 chore(docs): fix link in changelog
This link as-is is broken at https://dlang.org/changelog/2.100.0.html#mustUse leading to "https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1038.md,%20DIP%201038".

I may be incorrect on the best approach to fix it, but I am hoping this is right.
This change to LINK2 is based on the README.md in this folder, as well as sibling files like deprecation_delete.dd.
2022-05-12 09:03:54 +00:00
Dennis Korpel
159dd03d72 Revert dip1000 deprecations for 2.100 2022-05-07 11:18:08 +00:00
Martin Kinkelin
6f28db6ed2 Don't require extern(C) for CRT con/destructors
The default signature is `void ()`, which e.g. works with C++ and D
linkages just fine too. IIRC, an MSVCRT constructor is called with
the main() arguments, so only require `extern(C)` for signatures
with parameters - and newly check that all functions return void.

extern(D) CRT con/destructors are nice because they don't pollute
the global C namespace and prevent symbol conflicts at link-time.
2022-05-06 13:04:46 +00:00
Nicholas Wilson
5166dc1b9a remove the markdown related switches
This has been the default for a couple of years now.
2022-05-04 09:59:53 +00:00
Steven Dwy
b0811cbdfd
ImportC: recognize typeof operator (#14000) 2022-05-03 11:38:10 +03:00
Walter Bright
585b737372
add bitfields to D (#13568) 2022-04-25 14:59:05 -07:00
Atila Neves
80204468b0 Add changelog entry 2022-04-18 10:09:18 +02:00
Dennis
0b5414b312
Fix issue 22999 - no switch fallthrough error with multi-valued case (#13972)
Fix issue 22999 - no switch fallthrough error with multi-valued case

Signed-off-by: Razvan Nitu <RazvanN7@users.noreply.github.com>
Merged-on-behalf-of: Dennis <dkorpel@users.noreply.github.com>
2022-04-13 10:12:29 +00:00
Martin Nowak
c00ed38ded Merge remote-tracking branch 'upstream/stable' into merge_stable 2022-04-07 20:33:16 +02:00
Martin Nowak
63aadfc66b purge changelog 2022-04-07 20:33:11 +02:00
The Dlang Bot
7be718c7fe
Merge pull request #13589 from pbackus/implement-dip1038
Implement DIP 1038: @mustuse

Signed-off-by: Razvan Nitu <RazvanN7@users.noreply.github.com>
Signed-off-by: Max Haughton <maxhaton@users.noreply.github.com>
Merged-on-behalf-of: unknown
2022-04-07 06:10:16 +00:00
Nick Treleaven
f8342beb32 fix example 2022-04-06 12:44:56 +01:00