Rust 0.3 发布,Mozilla 的编程语言


Rust 0.3 发布了,Rust 是 Mozilla 目前正在开发一个新的编程语言,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。


     * ~1900 changes, numerous bugfixes
     * New coding conveniences
        * Integer-literal suffix inference
        * Per-item control over warnings, errors
        * #[cfg(windows)] and #[cfg(unix)] attributes
        * Documentation comments
        * More compact closure syntax
        * 'do' expressions for treating higher-order functions as
          control structures
        * *-patterns (wildcard extended to all constructor fields)
     * Semantic cleanup
        * Name resolution pass and exhaustiveness checker rewritten
        * Region pointers and borrow checking supersede alias
        * Init-ness checking is now provided by a region-based liveness
          pass instead of the typestate pass; same for last-use analysis
        * Extensive work on region pointers
     * Experimental new language features
        * Slices and fixed-size, interior-allocated vectors
        * #!-comments for lang versioning, shell execution
        * Destructors and iface implementation for classes;
        	type-parameterized classes and class methods
        * 'const' type kind for types that can be used to implement
          shared-memory concurrency patterns
     * Type reflection
     * Removal of various obsolete features
        * Keywords: 'be', 'prove', 'syntax', 'note', 'mutable', 'bind',
                   'crust', 'native' (now 'extern'), 'cont' (now 'again')
        * Constructs: do-while loops ('do' repurposed), fn binding,
        	            resources (replaced by destructors)
     * Compiler reorganization
        * Syntax-layer of compiler split into separate crate
        * Clang (from LLVM project) integrated into build
        * Typechecker split into sub-modules
     * New library code
        * New time functions
        * Extension methods for many built-in types
        * Arc: atomic-refcount read-only / exclusive-use shared cells
        * Par: parallel map and search routines
        * Extensive work on libuv interface
        * Much vector code moved to libraries
        * Syntax extensions: #line, #col, #file, #mod, #stringify,
        	#include, #include_str, #include_bin
     * Tool improvements
        * Cargo automatically resolves dependencies

  • 本文由 发表于 2020年2月28日02:37:20
  • 转载请务必保留本文链接: