当前位置: 首页 > 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一样.
附加给指针没人用,因为要重写整个程序.

http://www.dtcms.com/a/183555.html

相关文章:

  • 【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盘恢复)
  • dockerfile编写入门
  • 正式部署abp vnext应用程序时,如何生成openiddict.pfx证书文件
  • Proser:在使用中改进
  • 21、DeepSeekMath论文笔记(GRPO)
  • 如何更改typora图片存储位置
  • 从前端视角看网络协议的演进
  • 【入门】数字走向II
  • (二)Linux下基本指令 2
  • 动态规划法:爬楼梯
  • 深入浅出 JDBC 与数据库连接池