-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Task startup makes cross-language/module fastcalls #495
Labels
A-runtime
Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows
Milestone
Comments
ghost
assigned eholk
Jun 15, 2011
arielb1
pushed a commit
to arielb1/rust
that referenced
this issue
Apr 10, 2015
arielb1
added a commit
to arielb1/rust
that referenced
this issue
Sep 16, 2016
The wording of RFC rust-lang#495 enables moves out of slices. Unfortuantely, non-zeroing moves out of slices introduce a very annoying complication: as slices can vary in their length, indexes from the start and end may or may not overlap depending on the slice's exact length, which prevents assigning a particular drop flag for each individual element. For example, in the code ```Rust fn foo<T>(a: Box<[Box<[T]>]>, c: bool) -> T { match (a, c) { (box [box [t, ..], ..], true) => t, (box [.., box [.., t]], false) => t, _ => panic!() } } ``` If the condition is false, we have to drop the first element of `a`, unless `a` has size 1 in which case we drop all the elements of it but the last. If someone comes with a nice way of handling it, we can always re-allow moves out of slices. This is a [breaking-change], but it is behind the `slice_patterns` feature gate and was not allowed until recently.
pdietl
pushed a commit
to pdietl/rust
that referenced
this issue
Apr 23, 2020
Use mdbook release binary
celinval
added a commit
to celinval/rust-dev
that referenced
this issue
Jun 4, 2024
Instead of keeping our own copy of the monomorphizer, we would like to start using rustc monomorphizer as is. This is the first step towards that goal. For now, we will use the upstream version of the monomorphizer with a few small changes. Use a query to skip monomorphization for rmc instead of hooks. This change, adds a query to allow RMC to skip monomorphizing functions. It also does the following: - Adds a default query to codegen base that don't skip anything. - Adds a query implementation to RMC that checks our hooks. - Skips monomorphizing the start function if --cfg=rmc Issue rust-lang#485 tracks the rest of the changes needed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-runtime
Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows
This isn't safe, in general.
The text was updated successfully, but these errors were encountered: