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

个人网站设计论文的结论本周热点事件

个人网站设计论文的结论,本周热点事件,网站域名查企业邮箱,网站域名使用费1.54.0稳定版 属性可调用类似函数的宏 Rust1.54支持在属性中调用类似函数的宏.类似函数的宏是像基于macro_rules!宏一样调用的或像macro!(...)一样的过程宏. 注意,常见用例是,在Rust文档注解中包含其他文件中的文档.如,如果项目的README代表了一个很好的文档注释,则可用incl…1.54.0稳定版 属性可调用类似函数的宏 Rust1.54支持在属性中调用类似函数的宏.类似函数的宏是像基于macro_rules!宏一样调用的或像macro!(...)一样的过程宏. 注意,常见用例是,在Rust文档注解中包含其他文件中的文档.如,如果项目的README代表了一个很好的文档注释,则可用include_str!直接整合内容. #![doc include_str!(README.md)]也可在属性中嵌套宏.如,可用用stringify!来包括替换的concat!宏来构建文档注释: macro_rules! make_function {($name:ident, $value:expr) {#[doc concat!(The , stringify!($name), example.)]/// #示例///#[doc concat!(assert_eq!(, module_path!(), ::, stringify!($name), (), ,stringify!($value), );)]///pub fn $name() - i32 {$value}}; } make_function! {func_name, 123}更多. 稳定WASM32内部函数 已稳定wasm32平台的许多允许访问WebAssembly中的SIMD指令的内部函数. 即可按完全安全的函数公开一些内部函数,如v128_bitselect.但是,仍有一些内部函数是不安全的,因为它们使用原始指针,如v128_load. 默认,重新启用增量编译 稳定的API 已稳定以下方法和特征实现. BTreeMap::into_keys BTreeMap::into_values HashMap::into_keys HashMap::into_values arch::wasm32 VecDeque::binary_search VecDeque::binary_search_by VecDeque::binary_search_by_key VecDeque::partition_point1.55.0稳定版 Cargo删除重复数据编译器错误 过去版本中,运行cargo test,cargo check --all-targets或类似的命令时,在多个配置中构建了相同的Rust仓库,因为是并行运行rustc,可能会重复显示相同的错误和警告. 如,在1.54.0中,此输出很常见: $ cargo 1.54.0 check --all-targetsChecking foo v0.1.0 warning: function is never used: foo-- src/lib.rs:9:4| 9 | fn foo() {}| ^^^| note: #[warn(dead_code)] on by default warning: 1 warning emitted warning: function is never used: foo-- src/lib.rs:9:4| 9 | fn foo() {}| ^^^| note: #[warn(dead_code)] on by default warning: 1 warning emittedFinished dev [unoptimized debuginfo] target(s) in 0.10s在1.55中,已调整为在编译结束时删除重复数据再打印报告: $ cargo 1.55.0 check --all-targetsChecking foo v0.1.0 warning: function is never used: foo-- src/lib.rs:9:4| 9 | fn foo() {}| ^^^| note: #[warn(dead_code)] on by default warning: foo (lib) generated 1 warning warning: foo (lib test) generated 1 warning (1 duplicate)Finished dev [unoptimized debuginfo] target(s) in 0.84s更快,更正确的浮点解析 已更新标准库的浮点解析实现为提高速度和正确性的Eisel-Lemire算法,细节. 已更新std::io::ErrorKind变体 std::io::ErrorKind是一个可分类错误为如NotFound或WouldBlock等可移植分类的#[non_exhaustive]枚举. 有std::io::Error的Rust代码可调用kind方法来取std::io::ErrorKind,并匹配该方法以处理指定错误. 并非所有错误都归类为ErrorKind值;在以前的Rust版本中,未分类的错误用ErrorKind::Other;分类. 但是,用户创建的std::io::Error值也常用ErrorKind::Other. 在1.55中,未分类的错误,现在使用内部变体ErrorKind::Uncategorized,并打算隐藏它,且不能用稳定的Rust代码命名; 这让ErrorKind::Other专门构造非标准库的std::io::Error值.这强制ErrorKind的#[non_exhaustive]本质. Rust代码永远不应与ErrorKind::Other匹配,并期望特定的底层错误码;仅当抓使用该错误类型的已构造std::io::Error时,才匹配ErrorKind::Other. 匹配std::io::Error的Rust代码应总是用_来表示未知错误类型,此时,可匹配底层错误码,或报告错误,或冒泡到调用代码. 此更改确保未知代码匹配变体,必须使用既适合ErrorKind::Uncategorized,也适合将来仅限nightly-only的变体的_抓所有模式. 添加了开区间模式 Rust1.55稳定了模式中使用开区间: match x as u32 {0 println!(zero!),1.. println!(正数), }细节. 稳定API 已稳定以下方法和特征实现. Bound::cloned Drain::as_str IntoInnerError::into_error IntoInnerError::into_parts MaybeUninit::assume_init_mut MaybeUninit::assume_init_ref MaybeUninit::write array::map ops::ControlFlow x86::_bittest x86::_bittestandcomplement x86::_bittestandreset x86::_bittestandset x86_64::_bittest64 x86_64::_bittestandcomplement64 x86_64::_bittestandreset64 x86_64::_bittestandset64以下以前稳定的函数现在是常. str::from_utf8_unchecked1.57.0稳定版 在常环境中用恐慌! 以前版本Rust,在const fn和其他编译时环境中不可用恐慌!宏.现在,已稳定下来.从而,其他几个标准库API现在都可在常中使用,比如assert!. 现在必须用: panic!(...) //静态串 //或与{}搭配用的str插值 panic!({}, a)该最小的稳定已支持直接编译时断定,如验证类型的大小: const _: () assert!(std::mem::size_of::u64() 8); const _: () assert!(std::mem::size_of::u8() 1);Cargo自定义配置文件 Cargo长期以来,一直支持四种配置文件:dev,release,test和bench.在Rust1.57中,支持任意命名的配置文件. 如,如果只想在最终生产版本时,启用(LTO)链接时优化,则在选择此配置文件时,添加以下代码片到Cargo.toml会启用lto标志,但避免普通发布版本启用它. [profile.production] inherits release lto true注意,自定义配置文件必须要继承的默认设置的配置文件.定义配置文件后,构建时,可加上: --profile production目前,在单独的目录(在本例中为target/production)中构建,而不会在目录间共享. 易错分配 Rust1.57稳定了Vec,String,HashMap,HashSet和VecDeque的try_reserve. 如果全局分配器失败,Rust一般会中止进程,这并不总是可取的.此API在使用标准库集合时,可避免中止. 但是,Rust并不保证,由内核分配返回内存:如,如果在Linux上启用了过提交(overcommit),则试使用内存时,可能内存不可用. 稳定的API 已稳定以下方法和特征实现. [T; N]::as_mut_slice [T; N]::as_slice collections::TryReserveError HashMap::try_reserve HashSet::try_reserve String::try_reserve String::try_reserve_exact Vec::try_reserve Vec::try_reserve_exact VecDeque::try_reserve VecDeque::try_reserve_exact Iterator::map_while iter::MapWhile proc_macro::is_available Command::get_program Command::get_args Command::get_envs Command::get_current_dir CommandArgs CommandEnvs以前稳定函数现在是常. hint::unreachable_unchecked1.58.0稳定版 格式串中抓标识 格式串,现在只需在串中写入{ident}即可抓参数.长期以来格式一直接受位置参数(可选按索引)和命名参数,如: println!(Hello, {}!, get_person()); //隐式位置 println!(Hello, {0}!, get_person()); //显式索引 println!(Hello, {person}!, person get_person()); //命名现在,还可从周围的域抓命名参数,如: let person get_person(); //...抓局部的人 println!(Hello, {person}!); //也可格式化参数: let (width, precision) get_format(); for (name, score) in get_scores() {println!({name}: {score:width$.precision$}); }格式串只能抓普通标识,而不能抓任意路径或表达式.对更复杂的参数,请先它们给局部名,或使用较旧的name式风格来设置参数格式. 化简窗口命令搜索路径 在窗口目标上,std::process::Command不再在当前目录中搜索可执行文件.这是win32的CreateProcessAPI的遗留行为,因此Rust按以下顺序有效搜索: (相关Rust)子级的PATH环境变量中列举的目录(如果从父级显式更改该环境变量). 1,从加载应用的目录. 2,父进程的当前目录. 3,32位窗口系统目录. 4,16位窗口系统目录. 5,窗口目录. 6,在PATH环境变量中列举的目录. 窗口上Rust的新命令搜索顺序为: 1,子级的PATH环境变量中列举的目录. 2,从加载应用的目录. 3,32位窗口系统目录. 4,窗口目录. 5,在PATH环境变量中列举的目录. 非窗口目标继续使用其相关平台行为,一般只考虑子或父PATH环境变量. 标准库中更多#[must_use] 类型或函数可应用#[must_use]属性,如果不显式考虑它们,输出就会出错.在标准库中,长期以来一直用Result等类型,应检查它们是否存在错误条件. 类似函数的纯,但比真正的语言功能更宽松. 稳定的API Metadata::is_symlink Path::is_symlink {integer}::saturating_div Option::unwrap_unchecked Result::unwrap_unchecked Result::unwrap_err_unchecked File::options常函数 Duration::new Duration::checked_add Duration::saturating_add Duration::checked_sub Duration::saturating_sub Duration::checked_mul Duration::saturating_mul Duration::checked_div1.58.1稳定版 Rust1.58.1修复了std::fs::remove_dir_all标准库函数中的竞争. 修复了Rustfmt中的通过标准输入时阻止格式化生成的文件. 修复了rustc有时显示的错误信息. 1.59.0稳定版 内联汇编 Rust语言现在支持内联汇编.这样,可执行非常低级的控制,或访问专门的机器指令. 如,针对x86-64目标编译时,现在可编写: use std::arch::asm; //用移位和加法乘6 let mut x: u64 4; unsafe {asm!(mov {tmp}, {x},shl {tmp}, 1,shl {x}, 2,add {x}, {tmp},x inout(reg) x,tmp out(reg) _,); } assert_eq!(x, 4 * 6);在asm!和global_asm!宏中的格式串语法与Rust格式串中使用的相同. 内联汇编的汇编语言和指令因目标架构而异.目前,稳定的Rust编译器支持以下架构的内联汇编: x86 and x86-64 ARM AArch64 RISC-V更多内联汇编见示例. 解构赋值 现在,可用元组,切片和结构模式作为赋值左侧. let (a, b, c, d, e); (a, b) (1, 2); [c, .., d, _] [1, 2, 3, 4, 5]; Struct { e, .. } Struct { e: 5, f: 3 }; assert_eq!([1, 2, 1, 4, 5], [a, b, c, d, e]);使得赋值与let绑定更加一致,注意,禁止使用(如)符号解构赋值. 常泛型默认值和交错 泛型类型,现在可为常量泛型指定默认值.如,现在可编写以下内容: struct ArrayStorageT, const N: usize 2 {arr: [T; N], } implT ArrayStorageT {fn new(a: T, b: T) - ArrayStorageT {ArrayStorage {arr: [a, b],}} }以前,必须在所有常参数前指定类型参数.已放宽该限制,现在可交错. fn cartesian_productT, const N: usize,U, const M: usize,V, F (a: [T; N], b: [U; M], f: F) - [[V; N]; M] whereF: FnMut(T, U) - V {//... }创建去掉的二进制文件 从分发的二进制文件中去掉不必要的信息(如debuginfo)来使它们变小,一般很有用. 虽然,创建二进制文件后总是可手动这样,但cargo和rustc现在支持在链接二进制文件时去掉.要启用此功能,在Cargo.toml中加上: [profile.release] strip debuginfo更多细节 稳定的API 已稳定以下方法和特征实现: std::thread::available_parallelism Result::copied Result::cloned arch::asm! arch::global_asm! ops::ControlFlow::is_break ops::ControlFlow::is_continue TryFromchar for u8 char::TryFromCharError implementing Clone, Debug, Display, PartialEq, Copy, Eq, Error iter::zip NonZeroU8::is_power_of_two NonZeroU16::is_power_of_two NonZeroU32::is_power_of_two NonZeroU64::is_power_of_two NonZeroU128::is_power_of_two DoubleEndedIterator for ToLowercase DoubleEndedIterator for ToUppercase TryFrommut [T] for [T; N] UnwindSafe for Once RefUnwindSafe for Once armv8 neon intrinsics for aarch64以下稳定函数现在是常: mem::MaybeUninit::as_ptr mem::MaybeUninit::assume_init mem::MaybeUninit::assume_init_ref ffi::CStr::from_bytes_with_nul_unchecked
http://www.huolong8.cn/news/158256/

相关文章:

  • 广州建设网站开发梁山县网站建设
  • 建设网站部署环境wordpress不同分类不同模板
  • editplus网站开发什么是企业网站建设
  • 如何将自己做的网站传到网上广州建筑集团股份有限公司
  • 网站的建设与应用打字赚钱
  • 怎么自己做淘客网站大品牌vi设计
  • 做分析报表的网站qq群推广网站
  • 做微信平台网站网站 支持建设单位
  • 网站怎么不要钱自己做个人网站建立教程
  • 无锡网站建设软件开发花样云做网站怎样
  • 陕西住房城乡建设部网站楚雄州城乡建设局网站
  • 零代码自助建站平台建设银行青海省分行招聘网站
  • 5a景区网站建设记事本做网站怎么加图片
  • 设计网站 知乎互联网营销师培训基地
  • 辽宁住房建设厅网站首页dw怎么做网站轮播图
  • 营销型网站一般有哪些内容建设摩托车官网中国官网报价大全
  • 如何自己做淘宝网站阿里云网站建设方案书填写
  • 家具企业网站建设网站运营职责
  • 炒股配资网站建设网站的性能特点
  • 在网站中动态效果怎么做济南网站建设服务公司
  • 静态网站 后台广州环保网站建设
  • 闸北区网站建设网页我要建立一个网站
  • 中国城乡和住房建设部网站设计logo网站哪个好
  • 网站建设文字教程亦庄做网站
  • 太原制作响应式网站抚顺市建设银行网站
  • 网站建设开发公司推荐指数360浏览器屏蔽某网站怎么做
  • 做网站网页需要学些什么网页设计的基本原则有哪些
  • 可以做哪些网站有哪些内容学网站ui设计
  • 第一代网站建设技术wordpress amp
  • 最好的网站代运营公司小程序制作用华网天下推荐