Viber for Mac、ソフトウェア教育、ソフトウェアダウンロード、ソフトウェアコミュニティ、Windowsソフトウェア、Macソフトウェア

Rust 1.57.0

Viber for Mac あなたは無料のメッセージを送信し、任意の国や地域のあらゆるデバイスやネットワーク上の他の Viber ユーザーに無料で電話をかけることができます!

Viber は連絡先、メッセージ、通話履歴をモバイルデバイスと同期させるので、Viber モバイルアプリケーションあなたの Mac の快適さから続けてください。 Viber for Mac をダウンロードし、電話番号を入力して、友人との接続を開始してください。

Viber 特長:
最高品質の HD 音声電話ビデオ通話テキスト、写真、およびステッカーメッセージ携帯電話と Mac 間の完全な同期デバイス間での通話の転送注:64 ビットプロセッサが必要です.

Also Available:Windows 用 Viber をダウンロード

ファイルのバージョン Rust 1.57.0
ファイル名 rust-1.57.0-x86_64-apple-darwin.pkg
ファイルサイズ
オペレーティングシステム Mac OS X 10.8 Lion
ソフトウェアタイプ Freeware
著者 Viber Media Inc
更新日 http://www.viber.com/products/mac/
更新時間 2021-12-02
ログを更新する

What's new in this version:

Rust 1.57.0
Language:
- Macro attributes may follow #[derive] and will see the original (pre-cfg) input
- Accept curly-brace macros in expressions, like m!{ .. }.method() and m!{ .. }?
- Allow panicking in constant evaluation

Compiler:
- Create more accurate debuginfo for vtables
- Add armv6k-nintendo-3ds at Tier 3*
- Add armv7-unknown-linux-uclibceabihf at Tier 3*
- Add m68k-unknown-linux-gnu at Tier 3*
- Add SOLID targets at Tier 3*: aarch64-kmc-solid_asp3, armv7a-kmc-solid_asp3-eabi, armv7a-kmc-solid_asp3-eabihf
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- Avoid allocations and copying in Vec::leak
- Add #[repr(i8)] to Ordering
- Optimize File::read_to_end and read_to_string
- Update to Unicode 14.0
- Many more functions are marked #[must_use], producing a warning when ignoring their return value. This helps catch mistakes such as expecting a function to mutate a value in place rather than return a new value.

Stabilised APIs:
- [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
- These APIs are now usable in const contexts:
- hint::unreachable_unchecked

Cargo:
- Stabilize custom profiles
- Compatibility notes

Internal changes:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- Added an experimental backend for codegen with libgccjit


Rust 1.55.0
Language:
- You can now write open "from" range patterns (X..), which will start at X and will end at the maximum value of the integer
- You can now explicitly import the prelude of different editions through std::prelude (e.g. use std::prelude::rust_2021::*;).

Compiler:
- Added tier 3* support for powerpc64le-unknown-freebsd
- * Refer to Rust's platform support page for more information on Rust's tiered platform support
- Libraries
- Updated std's float parsing to use the Eisel-Lemire algorithm. These improvements should in general provide faster string parsing of floats, no longer reject certain valid floating point values, and reduce the produced code size for non-stripped artifacts.
- string::Drain now implements AsRef and AsRef<[u8]>.

Stabilised APIs:
- 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

Cargo:
- Cargo will now deduplicate compiler diagnostics to the terminal when invoking rustc in parallel such as when using cargo test
- The package definition in cargo metadata now includes the "default_run" field from the manifest
- Added cargo d as an alias for cargo doc
- Added {lib} as formatting option for cargo tree to print the "lib_name" of packages

Rustdoc:
- Added "Go to item on exact match" search option
- The "Implementors" section on traits no longer shows redundant method definitions
- Trait implementations are toggled open by default. This should make the implementations more searchable by tools like CTRL+F in your browser.
- Intra-doc links should now correctly resolve associated items (e.g. methods) through type aliases
- Traits which are marked with #[doc(hidden)] will no longer appear in the "Trait Implementations" section


Rust 1.54.0
Language:
- You can now use macros for values in built-in attribute macros. While a seemingly minor addition on its own, this enables a lot of powerful functionality when combined correctly. Most notably you can now include external documentation in your crate by writing the following.
- #![doc = include_str!("README.md")]

You can also use this to include auto-generated modules:
- #[path = concat!(env!("OUT_DIR"), "/generated.rs")] mod generated
- You can now cast between unsized slice types (and types which contain unsized slices) in const fn
- You can now use multiple generic lifetimes with impl Trait where the lifetimes don't explicitly outlive another. In code this means that you can now have impl Trait<'a, 'b> where as before you could only have impl Trait<'a, 'b> where 'b: 'a.

Compiler:
- Rustc will now search for custom JSON targets in /lib/rustlib//target.json where / is the "sysroot" directory. You can find your sysroot directory by running rustc --print sysroot.
- Added wasm as a target_family for WebAssembly platforms
- You can now use #[target_feature] on safe functions when targeting WebAssembly platforms
- Improved debugger output for enums on Windows MSVC platforms
- Added tier 3* support for bpfel-unknown-none and bpfeb-unknown-none
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- Panic::panic_any will now #[track_caller]
- Added OutOfMemory as a variant of io::ErrorKind
- Proc_macro::Literal now implements FromStr
- The implementations of vendor intrinsics in core::arch have been significantly refactored. The main user-visible changes are a 50% reduction in the size of libcore.rlib and stricter validation of constant operands passed to intrinsics. The latter is technically a breaking change, but allows Rust to more closely match the C vendor intrinsics API.
- Stabilized APIs:
- 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_point

Cargo:
- Added the --prune option to cargo-tree to remove a package from the dependency graph
- Added the --depth option to cargo-tree to print only to a certain depth in the tree
- Added the no-proc-macro value to cargo-tree --edges to hide procedural macro dependencies
- A new environment variable named CARGO_TARGET_TMPDIR is available. This variable points to a directory that integration tests and benches can use as a "scratchpad" for testing filesystem operations.

Compatibility Notes:
- Mixing Option and Result via ? is no longer permitted in closures for inferred types
- Previously unsound code is no longer permitted where different constructors in branches could require different lifetimes
- As previously mentioned the std::arch instrinsics now uses stricter const checking than before and may reject some previously accepted code
- I128 multiplication on Cortex M0+ platforms currently unconditionally causes overflow when compiled with codegen-units = 1


Rust 1.53.0
Language:
- You can now use unicode for identifiers. This allows multilingual identifiers but still doesn't allow glyphs that are not considered characters such as ◆ or ????. More specifically you can now use any identifier that matches the UAX #31 "Unicode Identifier and Pattern Syntax" standard. This is the same standard as languages like Python, however Rust uses NFC normalization which may be different from other languages.
- You can now specify "or patterns" inside pattern matches. Previously you could only use | (OR) on complete patterns. E.g.
- Added the :pat_param macro_rules! matcher. This matcher has the same semantics as the :pat matcher. This is to allow :pat to change semantics to being a pattern fragment in a future edition.

Compiler:
- Updated the minimum external LLVM version to LLVM 10
- Added Tier 3* support for the wasm64-unknown-unknown target
- Improved debuginfo for closures and async functions on Windows MSVC

Libraries:
- Abort messages will now forward to android_set_abort_message on Android platforms when available
- slice::IterMut<'_, T> now implements AsRef<[T]>
- Arrays of any length now implement IntoIterator. Currently calling .into_iter() as a method on an array will return impl Iterator<Item=&T>, but this may change in a future edition to change Item to T. Calling IntoIterator::into_iter directly on arrays will provide impl Iterator<Item=T> as expected.
- leading_zeros, and trailing_zeros are now available on all NonZero integer types.
- {f32, f64}::from_str now parse and print special values (NaN, -0) according to IEEE RFC 754.
- You can now index into slices using (Bound, Bound)
- Add the BITS associated constant to all numeric types


Rust 1.52.1
- Change log not available for this version


Rust 1.52.0
Language:
- Added the unsafe_op_in_unsafe_fn lint, which checks whether the unsafe code in an unsafe fn is wrapped in a unsafe block. This lint is allowed by default, and may become a warning or hard error in a future edition.
- You can now cast mutable references to arrays to a pointer of the same type as the element

Compiler:
- Upgraded the default LLVM to LLVM 12

Added tier 3* support for the following targets:
- s390x-unknown-linux-musl
- riscv32gc-unknown-linux-musl & riscv64gc-unknown-linux-musl
- powerpc-unknown-openbsd
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- OsString now implements Extend and FromIterator
- cmp::Reverse now has #[repr(transparent)] representation
- Arc now implements error::Error
- All integer division and remainder operations are now const

Stabilised APIs:
- Arguments::as_str
- char::MAX
- char::REPLACEMENT_CHARACTER
- char::UNICODE_VERSION
- char::decode_utf16
- char::from_digit
- char::from_u32_unchecked
- char::from_u32
- slice::partition_point
- str::rsplit_once
- str::split_once
- The following previously stable APIs are now const.:
- char::len_utf8
- char::len_utf16
- char::to_ascii_uppercase
- char::to_ascii_lowercase
- char::eq_ignore_ascii_case
- u8::to_ascii_uppercase
- u8::to_ascii_lowercase
- u8::eq_ignore_ascii_case

Rustdoc:
- Rustdoc lints are now treated as a tool lint, meaning that lints are now prefixed with rustdoc:: (e.g. #[warn(rustdoc::non_autolinks)]). Using the old style is still allowed, and will become a warning in a future release.
- Rustdoc now supports argument files
- Rustdoc now generates smart punctuation for documentation
- You can now use "task lists" in Rustdoc Markdown

Misc:
- You can now pass multiple filters to tests. E.g. cargo test -- foo bar will run all tests that match foo and bar
- Rustup now distributes PDB symbols for the std library on Windows, allowing you to see std symbols when debugging

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- Check the result cache before the DepGraph when ensuring queries
- Try fast_reject::simplify_type in coherence before doing full check
- Only store a LocalDefId in some HIR nodes
- Store HIR attributes in a side table

Compatibility Notes:
- Cargo build scripts are now forbidden from setting RUSTC_BOOTSTRAP
- Removed support for the x86_64-rumprun-netbsd target
- Deprecated the x86_64-sun-solaris target in favor of x86_64-pc-solaris
- Rustdoc now only accepts ,, , and t as delimiters for specifying languages in code blocks
- Rustc now catches more cases of pub_use_of_private_extern_crate
- Changes in how proc macros handle whitespace may lead to panics when used with older proc-macro-hack versions. A cargo update should be sufficient to fix this in all cases.


Rust 1.51.0
Language:
- You can now parameterize items such as functions, traits, and structs by constant values in addition to by types and lifetimes. Also known as "const generics" E.g. you can now write the following. Note: Only values of primitive integers, bool, or char types are currently permitted.

Compiler:
- Added the -Csplit-debuginfo codegen option for macOS platforms. This option controls whether debug information is split across multiple files or packed into a single file. Note This option is unstable on other platforms.
- Added tier 3* support for aarch64_be-unknown-linux-gnu, aarch64-unknown-linux-gnu_ilp32, and aarch64_be-unknown-linux-gnu_ilp32 targets
- Added tier 3 support for i386-unknown-linux-gnu and i486-unknown-linux-gnu targets
- The target-cpu=native option will now detect individual features of CPUs
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- Box::downcast is now also implemented for any dyn Any + Send + Sync object
- str now implements AsMut
- u64 and u128 now implement From
- Error is now implemented for &T where T implements Error
- Poll::{map_ok, map_err} are now implemented for Poll
- unsigned_abs is now implemented for all signed integer types
- io::Empty now implements io::Seek
- rc::Weak and sync::Weak's methods such as as_ptr are now implemented for T: ?Sized types
- Stabilized APIs:
- Arc::decrement_strong_count
- Arc::increment_strong_count
- Once::call_once_force
- Peekable::next_if_eq
- Peekable::next_if
- Seek::stream_position
- array::IntoIter
- panic::panic_any
- ptr::addr_of!
- ptr::addr_of_mut!
- slice::fill_with
- slice::split_inclusive_mut
- slice::split_inclusive
- slice::strip_prefix
- slice::strip_suffix
- str::split_inclusive
- sync::OnceState
- task::Wake

Cargo:
- Added the split-debuginfo profile option to control the -Csplit-debuginfo codegen option
- Added the resolver field to Cargo.toml to enable the new feature resolver and CLI option behavior. Version 2 of the feature resolver will try to avoid unifying features of dependencies where that unification could be unwanted. Such as using the same dependency with a std feature in a build scripts and proc-macros, while using the no-std feature in the final binary. See the Cargo book documentation for more information on the feature.

Rustdoc:
- Rustdoc will now include documentation for methods available from nested Deref traits
- You can now provide a --default-theme flag which sets the default theme to use for documentation

Various improvements to intra-doc links:
- You can link to non-path primitives such as slice
- You can link to associated items
- You can now include generic parameters when linking to items, like Vec

Misc:
- You can now pass --include-ignored to tests (e.g. with cargo test -- --include-ignored) to include testing tests marked #[ignore]

Compatibility Notes:
- WASI platforms no longer use the wasm-bindgen ABI, and instead use the wasm32 ABI
- rustc no longer promotes division, modulo and indexing operations to const that could fail
- The minimum version of glibc for the following platforms has been bumped to version 2.31 for the distributed artifacts
- armv5te-unknown-linux-gnueabi
- sparc64-unknown-linux-gnu
- thumbv7neon-unknown-linux-gnueabihf
- armv7-unknown-linux-gnueabi
- x86_64-unknown-linux-gnux32

Internal Only:
- Consistently avoid constructing optimized MIR when not doing codegen


Rust 1.50.0
Language:
- You can now use const values for x in [x; N] array expressions. This has been technically possible since 1.38.0, as it was unintentionally stabilized
- Assignments to ManuallyDrop union fields are now considered safe

Compiler:
- Added tier 3* support for the armv5te-unknown-linux-uclibceabi target
- Added tier 3 support for the aarch64-apple-ios-macabi target
- The x86_64-unknown-freebsd is now built with the full toolset
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- proc_macro::Punct now implements PartialEq
- ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length
- On Unix platforms, the std::fs::File type now has a "niche" of -1. This value cannot be a valid file descriptor, and now means Option takes up the same amount of space as File

Stabilized APIs:
- bool::then
- btree_map::Entry::or_insert_with_key
- f32::clamp
- f64::clamp
- hash_map::Entry::or_insert_with_key
- Ord::clamp
- RefCell::take
- slice::fill
- UnsafeCell::get_mut

The following previously stable methods are now const:
- IpAddr::is_ipv4
- IpAddr::is_ipv6
- Layout::size
- Layout::align
- Layout::from_size_align
- pow for all integer types
- checked_pow for all integer types
- saturating_pow for all integer types
- wrapping_pow for all integer types
- next_power_of_two for all unsigned integer types
- checked_power_of_two for all unsigned integer types

Cargo:
- Added the [build.rustc-workspace-wrapper] option. This option sets a wrapper to execute instead of rustc, for workspace members only
- cargo:rerun-if-changed will now, if provided a directory, scan the entire contents of that directory for changes
- Added the --workspace flag to the cargo update command

Misc:
- The search results tab and the help button are focusable with keyboard in rustdoc
- Running tests will now print the total time taken to execute

Compatibility Notes:
- The compare_and_swap method on atomics has been deprecated. It's recommended to use the compare_exchange and compare_exchange_weak methods instead
- Changes in how TokenStreams are checked have fixed some cases where you could write unhygenic macro_rules! macros
- #![test] as an inner attribute is now considered unstable like other inner macro attributes, and reports an error by default through the soft_unstable lint
- Overriding a forbid lint at the same level that it was set is now a hard error
- Dropped support for all cloudabi targets
- You can no longer intercept panic! calls by supplying your own macro. It's recommended to use the #[panic_handler] attribute to provide your own implementation
- Semi-colons after item statements (e.g. struct Foo {};) now produce a warning


Language:
- Unions can now implement Drop, and you can now have a field in a union with ManuallyDrop
- You can now cast uninhabited enums to integers
- You can now bind by reference and by move in patterns. This allows you to selectively borrow individual components of a type. E.g
- #[derive(Debug)]
- struct Person {
- name: String,
- age: u8,
- let person = Person {
- name: String::from("Alice"),
- age: 20,
- // `name` is moved out of person, but `age` is referenced
- let Person { name, ref age } = person;
- println!("{} {}", name, age);

Compiler:
- Added tier 1* support for aarch64-unknown-linux-gnu
- Added tier 2 support for aarch64-apple-darwin
- Added tier 2 support for aarch64-pc-windows-msvc
- Added tier 3 support for mipsel-unknown-none
- Raised the minimum supported LLVM version to LLVM 9
- Output from threads spawned in tests is now captured
- Change os and vendor values to "none" and "unknown" for some targets
- Refer to Rust's platform support page for more information on Rust's tiered platform support

Libraries:
- RangeInclusive now checks for exhaustion when calling contains and indexing
- ToString::to_string now no longer shrinks the internal buffer in the default implementation
ops::{Index, IndexMut} are now implemented for fixed sized arrays of any length

Stabilized APIs:
- slice::select_nth_unstable
- slice::select_nth_unstable_by
- slice::select_nth_unstable_by_key
- The following previously stable methods are now const
- Poll::is_ready
- Poll::is_pending

Cargo:
- Building a crate with cargo-package should now be independently reproducible
- cargo-tree now marks proc-macro crates
- Added CARGO_PRIMARY_PACKAGE build-time environment variable. This variable will be set if the crate being built is one the user selected to build, either with -p or through defaults
- You can now use glob patterns when specifying packages & targets

Compatibility Notes:
- Demoted i686-unknown-freebsd from host tier 2 to target tier 2 support
- Macros that end with a semi-colon are now treated as statements even if they expand to nothing
- Rustc will now check for the validity of some built-in attributes on enum variants. Previously such invalid or unused attributes could be ignored
- Leading whitespace is stripped more uniformly in documentation comments, which may change behavior. You read this post about the changes for more details
- Trait bounds are no longer inferred for associated types

Internal Only:
- These changes provide no direct user facing benefits, but represent significant improvements to the internals and overall performance of rustc and related tools
- rustc's internal crates are now compiled using the initial-exec Thread Local Storage model
- Calculate visibilities once in resolve
- Added system to the llvm-libunwind bootstrap config option
- Added --color for configuring terminal color support to bootstrap

ファイルのダウンロード Download
  • Viber for Mac Screenshot 1Viber for Mac Screenshot 2Viber for Mac Screenshot 3