D 语言/DLang 2.098.0 发布
D 语言(DLang) 2.098.0 版本已发布,公告显示,DLang 2.098.0 现在以 DMD 2.098.0(D 编译器)和 LDC 1.28.0(基于 LLVM 的 D 编译器)的形式提供。此外,D 语言已经支持 OpenBSD。
此版本包含 17 项目主要变更,同时修复了 160 个 issue。
编译器变更
- 添加别名赋值 (Alias Assignment) 功能
- 通过 ImportC 编译器从 D 语言访问 C 语言的声明
- 使用 syntax (args) => {} 会触发一条 deprecation 消息
- 对生成 C++ 头文件的改进
- 默认启用 -preview=dtorfields
- 为向量类型添加 .min, .max 等属性
- 使用可变变量作为 switch case 会触发错误
- 越界的数组访问现在会提供更友好的错误消息
- 从 D 语言中删除类分配器 (Class allocators)
- 初始化来自 static this 的不可变全局数据现在会触发一个错误
- 添加 -target=<triple> 用于操作系统、C 和 C++ 运行时交叉编译
- 默认初始化 union 不是第一个成员的字段现在会触发错误
运行时变更
库变更
Dub 变更

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rust 1.56.1 发布,解决 Unicode 安全漏洞
Rust 1.56.1 现已发布。此版本引入了两个新的 lints,以减轻最近披露的一个安全问题 CVE-2021-42574的影响: 在 Unicode Specification through 14.0 的双向算法中发现了一个问题。它允许通过控制序列对字符进行视觉重新排序,可用于制作源代码,呈现与编译器和解释器摄取的标记的逻辑顺序不同的逻辑。攻击者可以利用这一点对接受 Unicode 的编译器的源代码进行编码,从而将目标漏洞引入人类审查者不可见的地方。 Rust 官方表示,他们于今年 7 月 25 号收到了报告并开始着手修复。虽然这问题本身不是 rustc 的缺陷,但他们正在采取积极措施来减轻其对 Rust 开发人员的影响。其建议所有用户立即升级,以确保他们的代码库不受该安全问题的影响。 Rust 1.56.1 引入了两个新的 lints,以检测和拒绝包含受影响的 codepoints;而 Rust 1.0.0 到 Rust 1.56.0 中则不包括这样的 lints。公告指出,如果你不对这些 codepoints的存在进行 out-of-band checks,你的源代码就容易...
- 下一篇
每日一博 | JavaScript 解构赋值 5 个常见场景和实例
解构赋值语法是一种 JavaScript 表达式,通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。这种语法是 ECMAscript 6 规范引入了一种新语法,可以更轻松地从数组和对象中获取值。 1. 提取数据 先来看看如何在 JavaScript 中解构对象,可以从这个商品对象的简单示例开始。 const product = { id: 1, title: "Nike Air Zoom Pegasus 38", product_image: "/resources/products/01.jpeg", shown: "White/Pure Platinum/Midnight Navy/Wolf Grey", price: 120, }; const { id, price, title } = product; 这样,就可以通过以下方式访问相应的属性: console.log(id); // 1 console.log(price); // 120 console.log(title); // Nike Air Zoom Pegasus 38 解...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程