当前位置: 首页 > news >正文

2505d,d的借用检查器

void func(scope ref int*) {}unique(int*) a = ...;
assert(a !is null);unique(int*) b = a;
assert(a is null);
assert(b !is null);func(b); // ok

@live作为检查器,不必有断定了.

int* a = ...;
int* b = a;   // 所有权转至b
*a = 3; // 不能再用a.

编译器保证约束指针.
@live不需要新语法,他是额外检测层.
DIP1000理念很好,避免栈指针漏洞.问题是适配D的高级构造,需要属性通知函数接口的参数状态.
借用检查器对标有@live的函数都工作.就像只针对@safe函数检查一样.
@live不能为传递性,就像人们要求不传递性@nogc一样.
附加给指针没人用,因为要重写整个程序.

相关文章:

  • 【Redis】string 字符串
  • Kubernetes 生产实战(十五):生产环境敏感信息纳入Secret管理指南
  • DB4S:一个开源跨平台的SQLite数据库管理工具
  • ThreadPoolExecutor源码阅读以及手写简单线程池 —— JDK17
  • @Transactional注解失效
  • 用c语言实现——一个交互式的中序线索二叉树系统,支持用户动态构建、线索化、遍历和查询功能
  • 超详细Kokoro-82M本地部署教程
  • 自定义类型-结构体(二)
  • 本地大模型工具深度评测:LM Studio vs Ollama,开发者选型指南
  • Java多线程(超详细版!!)
  • C++STL——priority_queue
  • 【Redis】基础命令数据结构
  • 【C++】string类
  • Linux进程间通信(四)之补充【日志】
  • 算法训练营第十三天|226.翻转二叉树、101. 对称二叉树、 104.二叉树的最大深度、111.二叉树的最小深度
  • 使用 librosa 测量《忘尘谷》节拍速度
  • 人形机器人量产元年开启,AI与物理世界深度融合
  • 局域网常用的测速工具,Iperf3使用教程
  • 数仓-如何保障指标的一致性
  • U盘制作系统盘(含U盘恢复)
  • 《致1999年的自己》:千禧之年的你在哪里?
  • 全国重点网络媒体和网络达人走进沧州,探寻“文武双全”的多重魅力
  • 习近平结束对俄罗斯国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典回到北京
  • 2025中国南昌国际龙舟赛5月23日启幕,是历年来南昌举办的最高规格龙舟赛事
  • 追光|铁皮房、土操场,这有一座“筑梦”摔跤馆
  • 乌克兰议会批准美乌矿产协议