-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Issue 5910 dyna freeze #6277
Closed
nikomatsakis
wants to merge
265
commits into
rust-lang:master
from
nikomatsakis:issue-5910-dyna-freeze
Closed
Issue 5910 dyna freeze #6277
nikomatsakis
wants to merge
265
commits into
rust-lang:master
from
nikomatsakis:issue-5910-dyna-freeze
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Things like the GC heap and unwinding are desirable everywhere the language might be used, not just in tasks. All Rust code should have access to LocalServices.
I am going to use memory_region and boxed_region as the local heap in the new scheduler, for now at least, and I don't have a rust_env available.
Reusing the existing boxed_region implementation from the runtime
For consistency, for all I/O calls, inspecting the error can be done with the io_error condition.
These will make it easier to write I/O code without worrying about errors
A task without an unwinder will abort the process on failure. I'm using this in the runtime tests to guarantee that a call to `assert!` actually triggers some kind of failure (an abort) instead of silently doing nothing. This is essentially in lieu of a working linked failure implementation.
This also reverts some changes to TLS that were leaking memory. Conflicts: src/libcore/rt/uv/net.rs src/libcore/task/local_data_priv.rs src/libcore/unstable/lang.rs
Most of our documentation requires both pandoc and node.js. This simplifies the logic around those checks and fixes an error when building without node.js but with pandoc.
Accidentally left in on at some point
Per pcwalton's suggestion.
Conflicts: src/libcore/rt/uvio.rs
typeck::check::_match wasn't suppressing derived errors properly. Fixed it.
…ndows bustage core won't compile in stage0 without.
I don't understand how this is still passing on the bots. This condition should trigger an abort now.
The previous example was erroneously attempting to destroy uninitialized memory, which was often zeroed (masking the bug).
transitional patch to resolve compile/link failure on android after rust-lang#6161 landed, I've encountered below errors since android does not support glob in libc. /opt/ndk_standalone/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/yichoi/rust_work/build/x86_64-unknown-linux-gnu/stage1/lib/rustc/arm-linux-androideabi/lib/libcore-c3ca5d77d81b46c1-0.7-pre.so: error: undefined reference to 'glob' /opt/ndk_standalone/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/yichoi/rust_work/build/x86_64-unknown-linux-gnu/stage1/lib/rustc/arm-linux-androideabi/lib/libcore-c3ca5d77d81b46c1-0.7-pre.so: error: undefined reference to 'globfre Since android does not have `glob.h`, `glob_t` definition comes from https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/vSH6MWPD0Vk rust-lang#6100 should be resolved.
The previous example was erroneously attempting to destroy uninitialized memory, which was often zeroed (masking the bug).
…ectory-orderonly-prereqs, r=z0w0 r? (for rust-lang#3326)
…freeze Conflicts: src/libcore/core.rc src/libcore/hashmap.rs src/libcore/num/f32.rs src/libcore/num/f64.rs src/libcore/num/float.rs src/libcore/num/int-template.rs src/libcore/num/num.rs src/libcore/num/strconv.rs src/libcore/num/uint-template.rs src/libcore/ops.rs src/libcore/os.rs src/libcore/prelude.rs src/libcore/rt/mod.rs src/libcore/unstable/lang.rs src/librustc/driver/session.rs src/librustc/middle/astencode.rs src/librustc/middle/borrowck/check_loans.rs src/librustc/middle/borrowck/gather_loans.rs src/librustc/middle/borrowck/loan.rs src/librustc/middle/borrowck/preserve.rs src/librustc/middle/liveness.rs src/librustc/middle/mem_categorization.rs src/librustc/middle/region.rs src/librustc/middle/trans/base.rs src/librustc/middle/trans/inline.rs src/librustc/middle/trans/reachable.rs src/librustc/middle/typeck/check/_match.rs src/librustc/middle/typeck/check/regionck.rs src/librustc/util/ppaux.rs src/libstd/arena.rs src/libstd/ebml.rs src/libstd/json.rs src/libstd/serialize.rs src/libstd/std.rc src/libsyntax/ast_map.rs src/libsyntax/parse/parser.rs src/test/compile-fail/borrowck-uniq-via-box.rs src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs src/test/run-pass/borrowck-nested-calls.rs
…ons about borrow list
Moving the trait into `core` allows it to be added to the `num::Float` trait. I have also added and `assert_approx_eq!` macro. This is useful fo making approximate assertions on types that implement the `ApproxEq` trait. Examples: ~~~rust // using the default epsilon value assert_approx_eq!(1.0000001f, 1.0f); // using a custom epsilon value assert_approx_eq!(1.000001f, 1.0f, 1.0e-5); // fails with: "left: 1.00001 does not approximately equal right: 1" assert_approx_eq!(1.00001f, 1.0f); ~~~
accidentally targeted master |
flip1995
pushed a commit
to flip1995/rust
that referenced
this pull request
Nov 3, 2020
Rustup changelog: none
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This rather sprawling branch refactors type check and much of the region code, addressing a number of outstanding issues. I will close them manually after validating that there are test cases for each one, but here is a (probably partial) list:
cc #5047