网资酷

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: 半仙本仙

设计一种新的系统编程语言

[复制链接]

0

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-9-21 14:31:44 | 显示全部楼层
感觉这样限制会比rust更严格,可能很多东西没法写。如果用这么简单的指针生存期模型就能做到内存安全,那应该早就有人做出来了。
回复

使用道具 举报

1

主题

11

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2022-9-21 14:31:57 | 显示全部楼层
像是void foo(A* a, int* b) { a.b = b; } 这样的函数很多情况下其实是安全的。但是目前只能一刀切的禁止了。如果要标记每个变量的生命期,会增加复杂度。例如我想过这样的语法:void foo(A* a, int* b) lifetime(a <= b) { a.b = b;} 表示a的生命期比b短。
回复

使用道具 举报

0

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-9-21 14:32:18 | 显示全部楼层
在rust的模型中,生存期还与型变有关,禁止生存期的协变逆变会让大多数场景没法编译,太难了
回复

使用道具 举报

1

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2025-5-15 11:46:01 | 显示全部楼层
高手云集 果断围观
回复

使用道具 举报

2

主题

8

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2025-5-21 22:09:41 | 显示全部楼层
围观 围观 沙发在哪里!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-7-5 22:13 , Processed in 0.092985 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表