Size: a a a

2021 February 24

ВК

Виталий Кулич... in dlang.ru
Да кому же интересно..... делать будущее
источник

ВК

Виталий Кулич... in dlang.ru
Думаю, по любому, pacman и msys2 - это система Динрус
источник

OB

Oleg B in dlang.ru
Oleg
в Д есть какиенить аттрибуты или ref out scope, которые отслеживают жизнь объекта и не позволяют его куданить зассайнить или передать кудато еще
т.е. есть объект с
string getStringToInternalData()
так вот этот стринг не должен кудать то передаться еще или гдето сохраниться, потому что он указывает на внутренние данные, которые могут исчезнуть - часть буфера вернули как стринг, буфер ушел обратно в пул, и если стринг жив, то писта
ещё есть вариант завернуть буфер в структуру, которую нельзя копировать и определить доступ к данным
источник

ВК

Виталий Кулич... in dlang.ru
источник

ВК

Виталий Кулич... in dlang.ru
И думайте!
источник

DH

Dark Hole in dlang.ru
Виталий Кулич
Да кому же интересно..... делать будущее
Будущее не в русификации языка программирования, уж точно.
источник

O

Oleg in dlang.ru
вы как код вставляете, чтоб с форматированием?
источник

g

gui in dlang.ru
берёшь , вставляешь таких три на одну строку, делаешь перенос строки, вставляешь код, делаешь перенос строки и вставляешь три
источник

g

gui in dlang.ru
блять
источник

EP

Egor Pugin in dlang.ru
`
источник

g

gui in dlang.ru
берёшь `
источник

g

gui in dlang.ru
и три `
источник

O

Oleg in dlang.ru
// dip1000, return scope, @safe - 3 в одном, иначе не проверяет
// {ldc2 | dmd} -dip1000 live.d

import std, std.algorithm;

struct Buf {
 byte[20] buf;

 string getStr() return scope @trusted {
   auto posz = buf[].countUntil( 0);
   return cast( string )buf[ 0..posz];
 }
}

struct S { string s; }

string glob;

string func( byte[20] bytes) @safe { // should be safe for scope checking
 auto buf = Buf( bytes);
 "|%s|".writefln( buf.buf);
 auto local = buf.getStr();
 "|%s|".writefln( local);
 
 //glob = local; // ERROR for -dip1000
 //return local; // ERROR for -dip1000
 //return S( local); // ERROR for -dip1000 when "S func(..)"
 return "ok";
}

void main() {
 auto res = func( cast( byte[20] )"Hello world!");
 "|%s|".writefln( res);
 "|%s|".writefln( glob);
}
источник

O

Oleg in dlang.ru
поправил string func()
источник

O

Oleg in dlang.ru
но проблема в таком ключе не решается, поскольку func почти 100% будет писаться юзером, а юзер будет писать @safe/dip1000 только если он из топ dlang foundation или forum, а значит "убежать" строка все равно может как 2 байта
источник
2021 February 25

И

Игорь in dlang.ru
Oleg B
ещё есть вариант завернуть буфер в структуру, которую нельзя копировать и определить доступ к данным
Я делал мутабельный буфер с мув-семантикой
источник

И

Игорь in dlang.ru
Который потом можно мувнуть в иммутабельный буфер с шаред доступом
источник

O

Oleg in dlang.ru
https://www.ixbt.com/news/2021/02/24/mac-apple-m1-ssd.html
а поскольку ССД распаянный, то все заточено, чтобы ты покупал новое устройство целиком. ну и фуй с ними
источник

КП

Константин Пунш... in dlang.ru
почему нельзя сделать просто version(!indef)
источник

DH

Dark Hole in dlang.ru
Константин Пунш
почему нельзя сделать просто version(!indef)
Пушто жмоты
источник