|
3567
|
D
|
phobos
|
nobody
|
REOP
|
---
|
std.traits: Unqual strips qualifiers on structs with references that would break const/immutable.
|
2024-12-01
|
|
3720
|
D
|
dmd
|
yebblies
|
REOP
|
---
|
Taking address of member functions possible without an instance
|
2023-05-18
|
|
4621
|
D
|
dmd
|
nobody
|
REOP
|
---
|
Destructors are inherently un-@safe
|
2022-12-17
|
|
5176
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Limit static object sizes
|
2024-11-23
|
|
6278
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Regression(2.054 beta): 'in' contract inheritance doesn't work with safe code
|
2022-12-17
|
|
7902
|
D
|
dmd
|
andrej.mitrovich
|
NEW
|
---
|
[TDPL] sychronized is supposed to be for classes, not functions
|
2022-12-17
|
|
8538
|
D
|
dmd
|
nobody
|
NEW
|
---
|
scope parameters escaping via closure
|
2022-08-12
|
|
9149
|
D
|
dmd
|
nobody
|
REOP
|
---
|
Disallow calling const delegates with a mutable context
|
2024-01-13
|
|
10376
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Mutable field initializer reference is accessible through immutable aggregate
|
2024-06-07
|
|
11044
|
D
|
dmd
|
nobody
|
REOP
|
---
|
Escaping references to lazy argument are allowed and compile to wrong code
|
2023-06-05
|
|
11048
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Default arguments bypass most attributes check (pure, @safe, @nogc)
|
2022-07-16
|
|
12218
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[AA] inserting into associative array invalidates foreach iteration
|
2020-08-13
|
|
12516
|
D
|
druntime
|
nobody
|
NEW
|
---
|
TypeInfo.getHash should not be trusted
|
Sat 13:33
|
|
13607
|
D
|
phobos
|
nobody
|
NEW
|
---
|
BigInt math not usable in @safe code
|
2024-12-01
|
|
13727
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.stdio.File not thread-safe
|
2024-12-01
|
|
14125
|
D
|
phobos
|
nobody
|
NEW
|
---
|
@trusted nested helper functions in std.file
|
2024-12-01
|
|
14251
|
D
|
dmd
|
nobody
|
NEW
|
---
|
synchronized (mtx) doesn't check attributes (pure, const)
|
2022-12-17
|
|
14336
|
D
|
phobos
|
dmitry.olsh
|
NEW
|
---
|
Invalid memory access in struct destructor in std.uni
|
2024-12-01
|
|
14445
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.net.curl not usable in @safe code
|
2024-12-01
|
|
14618
|
D
|
dmd
|
nobody
|
NEW
|
---
|
can break immutable with inout and a delegate
|
2022-12-17
|
|
15129
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.parallelism.parallel doesn't enforce shared-correctness
|
2024-12-01
|
|
15246
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Destructor inheritance doesn't inherit attributes properly
|
2022-12-17
|
|
15702
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.socket.Socket.receive breaks @safe
|
2024-12-01
|
|
16057
|
D
|
dmd
|
nobody
|
REOP
|
---
|
[TDPL] synchronized (a, b) does not compile
|
2023-12-04
|
|
16193
|
D
|
dmd
|
nobody
|
REOP
|
---
|
opApply() doesn't heap allocate closure
|
2023-02-03
|
|
16519
|
D
|
phobos
|
nobody
|
NEW
|
---
|
toHexString always returns stack allocated string
|
2024-12-01
|
|
16526
|
D
|
dmd
|
nobody
|
NEW
|
---
|
@safe code should do null check for members when appropriate
|
2022-12-17
|
|
16535
|
D
|
phobos
|
nobody
|
NEW
|
---
|
writeln("a") is safe, stdout.writeln("a") is not
|
2024-12-01
|
|
16982
|
D
|
phobos
|
andrei
|
NEW
|
---
|
std.experimental.allocator.make!T must either call GC.addRange or be marked @system
|
2024-12-01
|
|
17561
|
D
|
dmd
|
nobody
|
NEW
|
---
|
@safe code can write beyond Fiber's stack, despite guard page
|
2022-12-17
|
|
17566
|
D
|
dmd
|
nobody
|
NEW
|
---
|
can use void initialization in @safe code to break out of stack
|
2022-12-17
|
|
17682
|
D
|
dmd
|
nobody
|
NEW
|
---
|
can break immutable with destructor
|
2022-12-17
|
|
17743
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Type system hole: escaping inout delegates
|
2022-12-17
|
|
17744
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Type system hole: returning inout delegates
|
2022-12-17
|
|
17785
|
D
|
dlang.or
|
nobody
|
NEW
|
---
|
Add a page detailing all undefined behavior to the language specification
|
2022-12-17
|
|
17934
|
D
|
dmd
|
bugzilla
|
REOP
|
---
|
[scope] scopeness entrypoint for unique/ref-counted missing
|
2023-07-14
|
|
18172
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.getopt should allow taking parameters by `ref` (like std.format.formattedRead), s.t. it can be used in @safe
|
2024-12-01
|
|
18598
|
D
|
dmd
|
nobody
|
NEW
|
---
|
cyclic constructor calls have undefined behavior but are accepted in @safe code
|
2023-05-09
|
|
18672
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Error in @safe transitive propagation with associative arrays
|
2022-12-17
|
|
18701
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.conv.emplaceRef should be made publicly available
|
2024-12-01
|
|
18738
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[scope] scope delegates can be escaped via closure
|
2022-12-17
|
|
19065
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Struct invariant violated in @safe with T.init
|
2022-12-17
|
|
19326
|
D
|
dmd
|
nobody
|
NEW
|
---
|
.tupleof sidesteps protection attributes
|
2023-04-28
|
|
19370
|
D
|
druntime
|
nobody
|
REOP
|
---
|
AA require() and update() can't be used in @safe code
|
Sat 13:38
|
|
19616
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Result type of ternary operator connecting pointers/slices of class handles broken
|
2022-12-17
|
|
19743
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[dip1000] unclear error message when escaping variable through foreach `ref`
|
2022-12-17
|
|
19812
|
D
|
dmd
|
nobody
|
REOP
|
---
|
nested class reference causes dangling reference to out-of-scope struct
|
2022-12-17
|
|
19916
|
D
|
dmd
|
nobody
|
NEW
|
---
|
union member access should be un-@safe
|
2024-06-03
|
|
20482
|
D
|
phobos
|
nobody
|
NEW
|
---
|
formatValue overlap detection does not account for nested anonymous unions
|
2024-12-01
|
|
20506
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[DIP1000] scope variable cannot be thrown
|
2022-12-17
|
|
20674
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[DIP1000] inference of `scope` is easily confused
|
2023-01-27
|
|
20722
|
D
|
dmd
|
nobody
|
NEW
|
---
|
typeid(X).initializer() breaks safety
|
2024-11-23
|
|
20812
|
D
|
dmd
|
nobody
|
NEW
|
---
|
_d_assocarrayliteralTX segfault assigning a shared associative array an AA literal
|
2023-06-14
|
|
20871
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.socket.UnixAddress @trusted functions can corrupt memory if inherited from
|
2024-12-01
|
|
20873
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.parallelism.task mistakenly trusts user-supplied implicit-conversion routines
|
2024-12-01
|
|
20956
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[DIP1000] @safe defeated by closure capturing ref parameter
|
2022-12-17
|
|
21504
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Incorrect eponymous overload called by codegen
|
2023-02-27
|
|
21540
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Cannot pass associative array of function pointers to const AA parameter with lower attributes
|
2022-12-17
|
|
21561
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Unsafe aliasing of immutable union member allowed in @safe code
|
2022-12-17
|
|
21565
|
D
|
dmd
|
nobody
|
NEW
|
---
|
@safe code allows modification of a scalar that overlaps with a pointer
|
2022-12-17
|
|
21583
|
D
|
phobos
|
nobody
|
NEW
|
---
|
`array` is not `@safe` for a certain combination of `iota` and data types
|
2024-12-01
|
|
21675
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Unsafe aggregate field initializer causes undefined behavior in @safe code
|
2024-03-30
|
|
21690
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Unable to dynamic cast extern(C++) classes
|
2023-06-03
|
|
21713
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Cannot write trusted desstructor with @system member dtor
|
2022-12-17
|
|
21856
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Mutable base object returned as immutable from weakly pure function
|
2024-06-15
|
|
21929
|
D
|
dmd
|
nobody
|
REOP
|
---
|
delegates capture do not respect scoping
|
2024-05-06
|
|
22013
|
D
|
phobos
|
nobody
|
NEW
|
---
|
Making RefCounted dtor @safe breaks DIP1000
|
2024-12-01
|
|
22159
|
D
|
druntime
|
nobody
|
NEW
|
---
|
"==" causeses error for array of classes in safe method
|
Sat 13:41
|
|
22289
|
D
|
phobos
|
nobody
|
NEW
|
---
|
Can't `std.algorithm.mutation: copy` a `scope` string into an an `Appender` with DIP1000
|
2024-12-01
|
|
22653
|
D
|
dmd
|
nobody
|
NEW
|
---
|
@safe @nogc delegate should allocate but doesn't, calls member function on dead object
|
2022-12-17
|
|
22864
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[REG 2.067] Throwing in array literal leads to destructor being called on unconstructed data
|
2022-04-05
|
|
23134
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Mutate variable through immutable pointer
|
2022-12-17
|
|
23136
|
D
|
dmd
|
nobody
|
NEW
|
---
|
closure in a loop should hold distinct values for each iteration
|
2024-05-06
|
|
23147
|
D
|
dlang.or
|
nobody
|
NEW
|
---
|
Integer division may cause undefined behavior in @safe code
|
2022-12-17
|
|
23156
|
D
|
druntime
|
nobody
|
NEW
|
---
|
Thread should not rethrow Errors
|
Sat 13:42
|
|
23175
|
D
|
dmd
|
nobody
|
NEW
|
---
|
-preview=in silently adds possible stack memory escape
|
2022-12-17
|
|
23190
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.stdio.File should be usable in @safe
|
2024-12-01
|
|
23322
|
D
|
phobos
|
nobody
|
NEW
|
---
|
std.functional.toDelegate on functor can produce dangling reference
|
2024-12-01
|
|
23438
|
D
|
dmd
|
nobody
|
REOP
|
---
|
leaking address of stack using dip1000 switch
|
2022-12-17
|
|
23440
|
D
|
dmd
|
nobody
|
NEW
|
---
|
closure over typesafe variadic or scope array passes safe though leads to stack corruption
|
2023-06-27
|
|
23445
|
D
|
dmd
|
nobody
|
REOP
|
---
|
Can leak scope variable through delegate context
|
2022-12-17
|
|
23751
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Returning by ref from opApply fools DIP1000
|
2023-02-28
|
|
23780
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Manual __ctor call can mutate immutable object in @safe code
|
2023-10-29
|
|
23891
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[DIP1000] unnamed delegates ignore lifetimes
|
2023-05-05
|
|
24098
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Safe variable can be initialized from `@system` static constructor.
|
2024-03-30
|
|
24211
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Const nested function can mutate context
|
2023-11-02
|
|
24225
|
D
|
dmd
|
nobody
|
NEW
|
---
|
@safe cast from base type to enum bypasses copy ctor, identity opAssign
|
2023-11-03
|
|
24275
|
D
|
dmd
|
nobody
|
NEW
|
---
|
pragma(mangle, ...) can hijack safe functions, bypassing @safe checks
|
2023-12-08
|
|
24394
|
D
|
dmd
|
nobody
|
REOP
|
---
|
const(ubyte)[] array argument can be returned as string, mislabeling mutable data as immutable
|
2024-02-24
|
|
24449
|
D
|
dmd
|
nobody
|
NEW
|
---
|
immutable data can be mutated after initialization in shared static constructor
|
2024-08-29
|
|
24460
|
D
|
dmd
|
nobody
|
NEW
|
---
|
scope(failure) with a goto breaks safety
|
2024-07-23
|
|
24462
|
D
|
dmd
|
nobody
|
NEW
|
---
|
scope(failure) with a throw expression breaks safety
|
2024-03-28
|
|
24463
|
D
|
dmd
|
nobody
|
NEW
|
---
|
scope(failure) with a break/continue breaks safety
|
2024-03-28
|
|
24531
|
D
|
dmd
|
nobody
|
NEW
|
---
|
foreach lowering fails to compile with dip1000 and std.array.array
|
2024-05-10
|
|
24574
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Scope not inferred on this parameter
|
2024-05-30
|
|
24601
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[next edition] Make opApply result opaque
|
2024-06-12
|
|
24619
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Allow pointer slicing for slices of length 0 or 1
|
2024-06-20
|
|
24636
|
D
|
dmd
|
nobody
|
NEW
|
---
|
[DIP1000] Closures need to capture the whole frame
|
2024-06-27
|
|
24655
|
D
|
dmd
|
nobody
|
NEW
|
---
|
`inout` breaks invalid `bool` to non-`bool` conversion checks
|
2024-07-09
|
|
24657
|
D
|
dmd
|
nobody
|
NEW
|
---
|
0-sized struct should be rejected in @safe mode
|
2024-07-10
|
|
24664
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Inconsistent "cannot be used as an lvalue in @safe code" deprecation
|
2024-07-15
|
|
24665
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Static array cast can be an unsafe lvalue
|
2024-11-19
|
|
24750
|
D
|
dmd
|
nobody
|
NEW
|
---
|
escaping sliced stack arrays not detected
|
2024-09-09
|
|
24754
|
D
|
dmd
|
nobody
|
REOP
|
---
|
cannot take address of a member array in a ref foreach
|
2024-09-13
|
|
24757
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Escaping with typesafe variadic functions is not detected, making @safe code potentially unsafe
|
2024-09-09
|
|
24772
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Casting class references to void* should be @safe
|
2024-10-02
|
|
24833
|
D
|
dmd
|
nobody
|
NEW
|
---
|
enums with a base type with a copy / postblit ctor, opAssign, or dtor should either use them or be disallowed
|
2024-11-23
|
|
24866
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Inconsistent behavior in safe checking of conversion to void
|
2024-11-18
|
|
24867
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Wrong deprecation warning of @system variable usage under CTFE
|
2024-11-19
|
|
24874
|
D
|
dmd
|
nobody
|
NEW
|
---
|
Copying, assigning to, and destroying a struct with a union that contains a non-POD struct should be @system
|
2024-11-23
|