This Week in Rust 519
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Official
A tale of broken badges and 23,000 features
crates.io: Dropping support for non-canonical downloads
Generators are dead, long live coroutines, generators are back
Project/Tooling Updates
ratatui 0.24.0 is released! (Rust library that's all about cooking up terminal user interfaces)
git-cliff 1.4.0 is released! (highly customizable changelog generator)
rust-analyzer changelog #205
Progress report on rustc_codegen_cranelift (Oct 2023)
Observations/Thoughts
System dependencies are hard (so we made them easier)
Was Rust Worth It?
Can Rust prevent logic errors?
Faster Rust Serialization
Dealing with Dependencies in Rust
How I learned to stop worrying and love byte ordering
How To Move Fast With Rust
Starting a virtual Rust meet-up
[video] Impl Trait aka Look ma’, no generics! by Jon Gjengset
Rust Walkthroughs
Fully Automated Releases for Rust Projects
The beauty of a Rust message processor
interrupts is threads
htmx, Rust & Shuttle: A New Rapid Prototyping Stack
[video] Async Not Required 🦀
Research
Functional Ownership through Fractional Uniqueness
Grading on a Curve: How Rust can Facilitate New Contributors while Decreasing Vulnerabilities
Miscellaneous
[video] 5 Hours to 7.7 Seconds: How Database Tricks Sped up Rust Linting Over 2000x
Crate of the Week
This week's crate is silkenweb, a library for building web apps with fine-grained reactivity and a clean separation of logic and UI.
Thanks to henrik for the suggestion!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
pubgrub - Move to edition 2021
pubgrub - Fix CI for conventional commits
pubgrub - Rename v0.3 Range into BoundedRange
pubgrub - OfflineDependencyProvider should get its own module
Ockam - Library - Slim down the NodeManagerWorker for node / tcp
Ockam - Make ockam vault delete (no args) interactive by asking the user to choose from a list of vaults to delete (tuify)
Ockam - Command - refactor to use typed interfaces to implement commands for services
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from the Rust Project
408 pull requests were merged in the last week
-Zunpretty help: add missing possible values
NVPTX: allow PassMode::Direct for ptx kernels for now
OptWithInfcx naming nits, trait bound simplifications
deduce_param_attrs: explain a read-only case
rustc_interface cleanups
stack_overflow: get_stackp using MAP_STACK flag on dragonflybsd too
add bootstrap flag --skip-stage0-validation
add method to convert internal to stable constructs
add support for i586-unknown-netbsd as target
add support for mipsel-unknown-netbsd, 32-bit LE mips
add target features for LoongArch
add way to differentiate argument locals from other locals in Stable MIR
allow partially moved values in match
allow target specs to use an LLD flavor, and self-contained linking components
allows #[diagnostic::on_unimplemented] attributes to have multiple
avoid repeated interning of env!("CFG_RELEASE")
avoid unbounded O(n^2) when parsing nested type args
avoid unnecessary builds/rebuilds of rust-demangler
avoid unnecessary renumbering during borrowck
c-variadic error improvements
consider alias bounds when computing liveness in NLL (but this time sound hopefully)
const stabilize mem::discriminant
correctly handle nested or-patterns in exhaustiveness
coverage: consistently remove unused counter IDs from expressions/mappings
coverage: replace manual debug indents with nested tracing spans in counters
create windows/api.rs for safer FFI
create a new ConstantKind variant (ZeroSized) for StableMIR
declare rustc_target's dependency on object/macho
deny providing explicit effect params
derive Ord, PartialOrd and Hash for SocketAddr*
detect when trait is implemented for type and suggest importing it
do not suggest 'Trait<Assoc=arg>' when in trait impl
don't normalize to an un-revealed opaque when we hit the recursion limit
don't treat closures/coroutine types as part of the public API
don't use LFS64 symbols on musl
eat close paren if capture_cfg to avoid unbalanced parens
enable cg_clif tests for riscv64gc
fail typeck for illegal break-with-value
fix ICE: Restrict param constraint suggestion
fix failure to detect a too-big-type after adding padding
fix inline const pattern unsafety checking in THIR
fix missing leading space in suggestion
fix unused variables lint issue for args in macro
fix unwrap suggestion for async fn
generate aggregate constants in DataflowConstProp
handle ReErased in responses in new solver
ignore RPIT duplicated lifetimes in opaque_types_defined_by
implement C ABI lowering for CSKY
implement gen blocks in the 2024 edition
improve android-ndk property interface
improve some diagnostics around ?Trait bounds
improve the warning messages for the #[diagnostic::on_unimplemented]
increase the reach of panic_immediate_abort
intern LocalDefId list from opaque_types_defined_by query
introduce -C instrument-coverage=branch to gate branch coverage
invalid ? suggestion on mismatched Ok(T)
lint overlapping ranges as a separate pass
mark .rmeta files as /SAFESEH on x86 Windows
mark constructor of BinaryHeap as const fn
never consider raw pointer casts to be trival
on object safety error, mention new enum as alternative
on unresolved imports, suggest a disambiguated path if necessary to avoid collision with local items
only call mir_const_qualif if absolutely necessary
only emit one error per unsized binding, instead of one per usage
poison check_well_formed if method receivers are invalid to prevent typeck from running on it
print variadic argument pattern in HIR pretty printer
properly restore snapshot when failing to recover parsing ternary
quietly fail if an error has already occurred
rand use getrandom for freebsd (available since 12.x)
refactor type visitor walking
remap Cargo dependencies to /rust/deps
remove -Zdep-tasks
remove Apple RNG fallbacks and simplify implementation
remove fold code and add Const::internal() to StableMIR
remove support for alias -Z instrument-coverage
require target features to match exactly during inlining
return multiple object-safety violation errors and code improvements to the object-safety check
return unfixed len if pat has reported error
rework negative coherence to properly consider impls that only partly overlap
rustdoc: elide cross-crate default generic arguments
rustdoc: use ThinVec in GenericParamDefKind
see through aggregates in GVN
separate move path tracking between borrowck and drop elaboration
share some track_caller logic between interpret and codegen
small ty::print cleanups
some diagnostics improvements of gen blocks
stash and cancel cycle errors for auto trait leakage in opaques
stop telling people to submit bugs for internal feature ICEs
store #[stable] attribute's since value in structured form
suggest assoc fn new when trying to build tuple struct with private fields
suggest unwrap/expect for let binding type mismatch
tvOS simulator support on Apple Silicon for rustc
tweak suggestion span for outer attr and point at item following invalid inner attr
uplift Canonical to rustc_type_ir
uplift ClauseKind and PredicateKind into rustc_type_ir
use ImageDataType for allocation type
validate feature and since values inside #[stable(…)]
when encountering sealed traits, point types that implement it
when expecting closure argument but finding block provide suggestion
work around the fact that check_mod_type_wf may spuriously return ErrorGuaranteed
time: use clock_gettime on macos
windows: support sub-millisecond sleep
refactor some char, u8 ASCII functions to be branchless
add #[inline] to some recalcitrant ops::range methods
stabilize ratified RISC-V Target Features
stabilize [const_]pointer_byte_offsets
stabilize inline asm usage with rustc_codegen_cranelift
futures: add TryAll and TryAny adapters
futures: fix Sync impl of FuturesUnordered
futures: provide AtomicWaker if portable-atomic feature is enabled, even if atomic CAS is not available
codegen_gcc: add basics for test command in build system
codegen_gcc: fix volatile_load
cargo toml: Allow version-less manifests
cargo toml: Decouple parsing from interning system
cargo: shell: Write at once rather than in fragments
cargo: add new packages to [workspace.members] automatically
cargo: move up looking at index summary enum
cargo: remove duplicate binaries during install
cargo: remove outdated option to -Zcheck-cfg warnings
rustfmt: fixed error caused by combination of match_arm_blocks and control_brace_style
clippy: ignored_unit_patterns: check &(), &&(),
clippy: iter_without_into_iter: fix papercuts in suggestion and restrict linting to exported types
clippy: let_and_return: Wrap with parenthesis if necessary
clippy: add waker_clone_and_wake lint to check needless Waker clones
clippy: fix missing parenthesis in suboptimal floating point help
clippy: ignore lower-camel-case words in doc_markdown
clippy: move read_zero_byte_vec to nursery
clippy: remove internal feature from clippy_utils
clippy: remove the internal_warn lint category
rust-analyzer: make extract_variable assist in place
Rust Compiler Performance Triage
This week we have two sets of results as last week's arrived later than the publish date:
Triage done by @rylev and @simulacrum.
Revision range: b9832e72..650991d
Across both reports:
9 Regressions, 7 Improvements, 5 Mixed 127 artifact comparisons made in total
Full report #1
Full report #2
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
2024 Edition
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
[disposition: merge] Lifetime Capture Rules 2024
[disposition: merge] Add "crates.io Policy Update" RFC
Tracking Issues & PRs
[disposition: merge] Override Waker::clone_from to avoid cloning Wakers unnecessarily
[disposition: merge] dropck_outlives check whether generator witness needs_drop
[disposition: merge] stricter hidden type wf-check
[disposition: merge] Tracking Issue for the GroupBy and GroupByMut iterators
[disposition: merge] Don't panic in <BorrowedCursor as io::Write>::write
[disposition: merge] Guarantee that char has the same size and alignment as u32
[disposition: merge] Stabilize const_maybe_uninit_zeroed and const_mem_zeroed
[disposition: merge] Clarify UB in get_unchecked(_mut)
[disposition: merge] document that the null pointer has the 0 address
[disposition: close] regression: parameter type may not live long enough
Language Reference
[disposition: merge] Guarantee that raw pointer conversions preserve slice element count
Unsafe Code Guidelines
No Unsafe Code Guideline RFCs entered Final Comment Period this week.
New and Updated RFCs
No New or Updated RFCs were created this week.
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No RFCs issued a call for testing this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2023-11-01 - 2023-11-29 🦀
Virtual
2023-11-01 | Virtual (Cardiff, UK)| Rust and C++ Cardiff
ECS with Bevy Game Engine
2023-11-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2023-11-02 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2023-11-07 | Virtual (Berlin, DE) | OpenTechSchool Berlin
Rust Hack and Learn | Mirror
2023-11-07 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
Buffalo Rust User Group, First Tuesdays
2023-11-09 | Virtual (Nuremberg, DE) | Rust Nuremberg
Rust Nürnberg online
2023-11-14 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2023-11-15 | Virtual (Cardiff, UK)| Rust and C++ Cardiff
Building Our Own Locks (Atomics & Locks Chapter 9)
2023-11-15 | Virtual (Richmond, VA, US) | Linux Plumbers Conference
Rust Microconference in LPC 2023 (Nov 13-16)
2023-11-15 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Nightly Night: impl Trait in Type Aliases
2023-11-16 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2023-11-21 | Virtual (Berlin, DE) | OpenTechSchool Berlin
Rust Hack and Learn
2023-11-21 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
2023-11-28 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
Europe
2023-11-01 | Cologne, DE | Rust Cologne
Web-applications with axum: Hello CRUD!
2023-11-07 | Bratislava, SK | Bratislava Rust Meetup Group
Rust Meetup by Sonalake
2023-11-07 | Aarhus, DK | Rust Aarhus
Rust Aarhus - Rust and Talk beginners edition
2023-11-07 | Lyon, FR | Rust Lyon
Rust Lyon Meetup #7
2023-11-09 | Barcelona, ES | BcnRust
11th BcnRust Meetup
2023-11-09 | Paris, FR | Paris Rustaceans
Rust Meetup in Paris
2023-11-09 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup at Browns
2023-11-21 | Augsburg, DE | Rust - Modern Systems Programming in Leipzig
GPU processing in Rust
2023-11-23 | Biel/Bienne, CH | Rust Bern
Rust Talks Bern @ Biel: Embedded Edition
North America
2023-11-01 | Brookline, MA, US | Boston Rust Meetup
Boston Common Rust Lunch
2023-11-02 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Meetup at Hacker Dojo
2023-11-08 | Boulder, CO, US | Boulder Rust Meetup
Let's make a Discord bot!
2023-11-14 | New York, NY, US | Rust NYC
Rust NYC Monthly Mixer: Share, Show, & Tell! 🦀
2023-11-14 | Seattle, WA, US | Cap Hill Rust Coding/Hacking/Learning
Rusty Coding/Hacking/Learning Night
2023-11-15 | Richmond, VA, US + Virtual | Linux Plumbers Conference
Rust Microconference in LPC 2023 (Nov 13-16)
2023-11-16 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Meetup at Hacker Dojo
2023-11-16 | Nashville, TN, US | Music City Rust Developers
Python loves Rust!
2023-11-16 | Seattle, WA, US | Seattle Rust User Group
Seattle Rust User Group Meetup
2023-11-21 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2023-11-22 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
Oceania
2023-11-06 | Perth, WA, AU | Rust Perth Meetup Group
Embracing Lifetimes: A Journey to Safe and Efficient Code
2023-11-21 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust meetup meeting
2023-11-28 | Canberra, ACT, AU | Rust Canberra
November Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
After doing a best fit, we found Rust projects were less likely to introduce vulnerabilities than their equivalent C++ projects at all relevant experience levels, but more importantly, we found the effect was most significant for first-time contributors, who were almost two orders of magnitude less likely to contribute vulnerabilities. That is, even though Rust may have a reputation as a harder language to learn, there is a very measurable effect that makes it better for newbies. Reviewers should not have to put as much effort into reviewing code to be confident that someone making their first foray into their project is accidentally adding a vulnerability.
– Justin Tracey on crysp.org
Thanks to Brian Kung for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
1 note
·
View note
HPC In Cloud Market to Eyewitness Massive Growth by 2027 | Agnostiq, Nexxiot, Microsoft, Atos
Advance Market Analytics published a new research publication on “Global HPC In Cloud Market Insights, to 2027” with 232 pages and enriched with self-explained Tables and charts in presentable format. In the study, you will find new evolving Trends, Drivers, Restraints, Opportunities generated by targeting market-associated stakeholders. The growth of the HPC In Cloud market was mainly driven by the increasing R&D spending across the world.
Major players profiled in the study are:
Microsoft Corporation (United States), Agnostiq (Canada), Dell Technologies (United States), Cornelis Networks (United States), Intel (United States), Nexxiot (Switzerland), IBM (United States), Amazon Web Services, Inc. (United States), Atos (France) and DataDirect Networks (United States)
Get Exclusive PDF Sample Copy of This Research @ https://www.advancemarketanalytics.com/sample-report/201658-global-hpc-in-cloud-market#utm_source=DigitalJournalVinay
Scope of the Report of HPC In Cloud
In terms of performance and accessibility, HPC cloud computing has advanced significantly. Cloud services can help businesses meet their most complicated and difficult computing and storage-intensive requirements when they need to execute HPC applications. Researcher productivity can be increased by using HPC in the cloud, which allows them to focus on their work rather than waiting for jobs to complete. In contrast to a general-purpose computer, HPC refers to high performance computing. Instead of million instructions per second, the performance of an HPC system is measured in floating-point operations per second (FLOPS) (MIPS). Supercomputers, commonly referred to as HPC systems, are capable of quadrillions of FLOPS, or petaFLOPS. Today, Linux-based operating systems are used by the majority of supercomputers.
In 2021, Hewlett Packard Enterprise announced that it has acquired Determined AI, a San Francisco-based startup that delivers a powerful and robust software stack to train AI models faster, at any scale, using its open-source machine learning (ML) platform. HPE will combine Determined AI’s unique software solution with its world-leading AI and high-performance computing (HPC) offerings to enable ML engineers to easily implement and train machine learning models to provide faster and more accurate insights from their data in almost every industry.
In 2021, Dell Technologies announced three expanded offerings in conjunction with the start of the ISC21 digital conference. The centerpiece is Omnia, new software underpinning workload deployment and management and ‘composable infrastructure’ capabilities. Also announced were expanded HPC-on-demand services and server GPU options.
The Global HPC In Cloud Market segments and Market Data Break Down are illuminated below:
by Organization Size (Large, Small & Medium), Industry Vertical (Aerospace, Manufacturing, Healthcare, Fintech, Others), Service (HPC IaaS, Data Organisation, HPC PaaS, Workload Management, Others), Component (Compute, Network, Storage)
Market Opportunities:
Artificial Intelligence will be used to Improve HPC, Edge Computing Will Add Value and Speed and High-performance Computing Will Become Even More Accessible as a Service
Market Drivers:
Growing Need for Faster Insights, Secure and Reliable Solution among the Organizations and Increasing Demand for More Manageable Large Data and Easier Financial Analysis
Market Trend:
Advancement in HPC Technology Business Are Using It for Simulations And Modelling Area
What can be explored with the HPC In Cloud Market Study?
Gain Market Understanding
Identify Growth Opportunities
Analyze and Measure the Global HPC In Cloud Market by Identifying Investment across various Industry Verticals
Understand the Trends that will drive Future Changes in HPC In Cloud
Understand the Competitive Scenarios
Track Right Markets
Identify the Right Verticals
Region Included are: North America, Europe, Asia Pacific, Oceania, South America, Middle East & Africa
Country Level Break-Up: United States, Canada, Mexico, Brazil, Argentina, Colombia, Chile, South Africa, Nigeria, Tunisia, Morocco, Germany, United Kingdom (UK), the Netherlands, Spain, Italy, Belgium, Austria, Turkey, Russia, France, Poland, Israel, United Arab Emirates, Qatar, Saudi Arabia, China, Japan, Taiwan, South Korea, Singapore, India, Australia and New Zealand etc.
Have Any Questions Regarding Global HPC In Cloud Market Report, Ask Our Experts@ https://www.advancemarketanalytics.com/enquiry-before-buy/201658-global-hpc-in-cloud-market#utm_source=DigitalJournalVinay
Strategic Points Covered in Table of Content of Global HPC In Cloud Market:
Chapter 1: Introduction, market driving force product Objective of Study and Research Scope the HPC In Cloud market
Chapter 2: Exclusive Summary – the basic information of the HPC In Cloud Market.
Chapter 3: Displaying the Market Dynamics- Drivers, Trends and Challenges & Opportunities of the HPC In Cloud
Chapter 4: Presenting the HPC In Cloud Market Factor Analysis, Porters Five Forces, Supply/Value Chain, PESTEL analysis, Market Entropy, Patent/Trademark Analysis.
Chapter 5: Displaying the by Type, End User and Region/Country 2016-2021
Chapter 6: Evaluating the leading manufacturers of the HPC In Cloud market which consists of its Competitive Landscape, Peer Group Analysis, BCG Matrix & Company Profile
Chapter 7: To evaluate the market by segments, by countries and by Manufacturers/Company with revenue share and sales by key countries in these various regions (2022-2027)
Chapter 8 & 9: Displaying the Appendix, Methodology and Data Source
Finally, HPC In Cloud Market is a valuable source of guidance for individuals and companies.
Read Detailed Index of full Research Study at @ https://www.advancemarketanalytics.com/buy-now?format=1&report=201658#utm_source=DigitalJournalVinay
Thanks for reading this article; you can also get individual chapter wise section or region wise report version like North America, Middle East, Africa, Europe or LATAM, Southeast Asia.
Contact Us:
Craig Francis (PR & Marketing Manager)
AMA Research & Media LLP
Unit No. 429, Parsonage Road Edison, NJ
New Jersey USA – 08837
0 notes