profile
viewpoint
XAMPPRocky @dac-gmbh Berlin ➣ Livia Prima

delete branch rust-lang/rust

delete branch : fix-1.38-type_name-1

delete time in 18 hours

pull request commentrust-lang/rust

Add Compatibility Notes to RELEASES.md for 1.38.0

It also wasn't for 1.39.0. It's late.

XAMPPRocky

comment created time in a day

push eventXAMPPRocky/rust

Erin Power

commit sha 3db2c13d893865e8e6929d5259bbac7d89a7ba06

Add Compatibility Notes to RELEASES.md for 1.38.0

view details

push time in a day

push eventXAMPPRocky/rust

Erin Power

commit sha 94bcfa5fd4daaa24ed0334e2aff2075178382a5c

Add Compatibility Notes to RELEASES.md for 1.39.0

view details

push time in a day

Pull request review commentrust-lang/rfcs

RFC: #[cfg(accessible(..) / version(..))]

+- Feature Name: `cfg_path_version`+- Start Date: 2018-08-12+- RFC PR: _+- Rust Issue: _++# Summary+[summary]: #summary++Permit users to `#[cfg(..)]` on whether:+++ they have a certain minimum Rust version (`#[cfg(version(1.27.0))]`).++ a certain external path is accessible+  (`#[cfg(accessible(::std::mem::ManuallyDrop))]`).++# Motivation+[motivation]: #motivation++[stability_stagnation]: https://blog.rust-lang.org/2014/10/30/Stability.html+[what_is_rust2018]: https://blog.rust-lang.org/2018/07/27/what-is-rust-2018.html++A core tenet of Rust's story is+[*"stability without stagnation"*][stability_stagnation].+We have made great strides sticking to this story while continuously+improving the language and the community. This is especially the case with+the coming [Rust 2018 edition][what_is_rust2018].++However, while the situation for evolving the language is doing well,+the situation for library authors is not as good as it could be.+Today, crate authors often face a dilemma: - *"Shall I provide more features+and implementations for later versions of Rust, or should I stay compatible+with more versions of the compiler"*.++[cargo_version_selection]: http://aturon.github.io/2018/07/25/cargo-version-selection/++While [much thought][cargo_version_selection] has been given to how we can+reduce "dependency hell" by enhancing cargo for:+++ the **control** users have over their dependencies.++ the **compatibility** of crates with each other.++ reducing the **maintainability** burden of having to make sure that+  versions work with each other.++[RFC 2483]: https://github.com/rust-lang/rfcs/pull/2483++...not much focus has been given to how conditional compilation can be improved+to extend how many versions back a crate supports. This becomes critically+important if and when we gain LTS channels as proposed by [RFC 2483].++[version_check]: https://crates.io/crates/version_check++The current support for such conditional compilation is lacking.+While [it is possible][version_check] to check if you are above a certain+compiler version, such facilities are not particularly ergonomic at the moment.+In particular, they require the setting up of a `build.rs` file and+declaring up-front which versions you are interested in knowing about.+These tools are also unable to check, without performing canary builds+of simple programs with `use ::std::some::path;`, if a certain path exists+and instead force you to know which version they were introduced in.++*We can do better.* In this RFC we aim to rectify this by giving library+authors the tools they need in the language itself. With the features+proposed in the [summary] we aim to make retaining *compatibility* and+supporting more compiler versions *pain-free* and to give authors a lot+of *control* over what is supported and what is not.++[rust-lang-nursery/error-chain#101]: https://github.com/rust-lang-nursery/error-chain/issues/101++Another use case this RFC supports is to work around compiler bugs by+checking if we are on a particular version. An example where this occurred+is documented in [rust-lang-nursery/error-chain#101].++# Guide-level explanation+[guide-level-explanation]: #guide-level-explanation++## `#[cfg(accessible($path))]`++Consider for a moment that we would like to use the `Iterator::flatten` method+of the standard library if it exists (because it has become soon in a certain +Rust version), but otherwise fall back to `Itertools::flatten`.+We can do that with the following snippet:++```rust+#[cfg(accessible(::std::iter::Flatten))]+fn make_iter(limit: u8) -> impl Iterator<Item = u8> {+    (0..limit).map(move |x| (x..limit)).flatten()+}++#[cfg(not(accessible(::std::iter::Flatten)))]+fn make_iter(limit: u8) -> impl Iterator<Item = u8> {+    use itertools::Itertools;+    (0..limit).map(move |x| (x..limit)).flatten()+}++fn main() {+    println!("{:?}", make_iter(10).collect::<Vec<_>>());+}+```++What this snippet does is the following:++1. If the path `::std::iter::Flatten` exists, the compiler will compile+   the first version of `make_iter`. If the path does not exist,+   the compiler will instead compile the second version of `make_iter`.++The result of 1. is that your crate will use `Iterator::flatten` on newer+versions of Rust and `Itertools::flatten` on older compilers.+The result of this is that as a crate author, you don't have to publish any+new versions of your crate for the compiler to switch to the libstd version+when people use a newer version of Rust.++[`proptest`]: https://github.com/altsysrq/proptest+[adding support]: https://github.com/AltSysrq/proptest/blob/67945c89e09f8223ae945cc8da029181822ce27e/src/num.rs#L66-L76++Once the standard library has stabilized `iter::Flatten`,+future stable compilers will start using the first version of the function.++In this case we used the `accessible` flag to handle a problem that the addition+of `Iterator::flatten` caused for us if we had used `Itertools::flatten`.+We can also use these mechanisms for strictly additive cases as well.+Consider for example the [`proptest`] crate [adding support] for `RangeInclusive`:++```rust+// #[cfg_attr(feature = "unstable", feature(inclusive_range))]+// ^-- If you include this line; then `cargo build --features unstable`+//     would cause nightly compilers to activate the feature gate.+//     Note that this has some inherent risks similar to those for+//     `#[cfg(nightly)]` (as discussed later in this RFC).++macro_rules! numeric_api {+    ($typ:ident) => {+        ...++        #[cfg(accessible(::core::ops::RangeInclusive))]+        impl Strategy for ::core::ops::RangeInclusive<$typ> {+            type Tree = BinarySearch;+            type Value = $typ;++            fn new_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {+                Ok(BinarySearch::new_clamped(+                    *self.start(),+                    $crate::num::sample_uniform_incl(runner, *self.start(), *self.end()),+                    *self.end()))+            }+        }++        ...+    }+}++macro_rules! unsigned_integer_bin_search {+    ($typ:ident) => {+        pub mod $typ {+            use rand::Rng;++            use strategy::*;+            use test_runner::TestRunner;++            int_any!($typ);+        }+    }+}++unsigned_integer_bin_search!(u8);+unsigned_integer_bin_search!(u16);+...+```++This means that `proptest` can continue to evolve and add support for+`RangeInclusive` from the standard library and the `x..=y` syntax in the+language without having to release a new breaking change version.+Dependents of `proptest` simply need to be on a compiler version where+`::core::ops::RangeInclusive` is defined to take advantage of this.++So far we have only used `accessible(..)` to refer to paths in the standard +library. However, while it will be a less likely use case, you can use the flag+to test if a path exists in some library in the ecosystem. This can for example+be useful if you need to support lower minor versions of a library but also+add support for features in a higher minor version.++## `#[cfg(version(1.27.0))]`++Until now, we have only improved our support for library features but never+any language features. By checking if we are on a certain minimum version of+Rust or any version above it, we can conditionally support such new features.+For example:++```rust+#[cfg_attr(version(1.27), must_use)]+fn double(x: i32) -> i32 {+    2 * x+}++fn main() {+    double(4);+    // warning: unused return value of `double` which must be used+    // ^--- This warning only happens if we are on Rust >= 1.27.+}+```++Another example is opting into the system allocator on Rust 1.28 and beyond:++```rust+#[cfg(version(1.28))]+// or: #[cfg(accessible(::std::alloc::System))]+use std::alloc::System;++#[cfg_attr(version(1.28), global_allocator)]+static GLOBAL: System = System;++fn main() {+    let mut v = Vec::new();+    // This will allocate memory using the system allocator.+    // ^--- But only on Rust 1.28 and beyond!+    v.push(1);+}+```++Note that you won't be able to make use of `#[cfg(version(..))]` for these +particular features since they were introduced before this RFC's features+get stabilized. This means that you can't for example add `version(1.28)`+to your code and expect Rust 1.28 compilers to enable the code.+However, there will be features in the future to use this mechanism on.++# Reference-level explanation+[reference-level-explanation]: #reference-level-explanation++## `#[cfg(version(<semver>))]`++To the `cfg` attribute, a `version` flag is added.+This flag has the following grammar (where `\d` is any digit in `0` to `9`):++```rust+flag : "version" "(" semver ")" ;+semver : digits ("." digits ("." digits)?)? ;+digits : \d+ ;+```++[caret requirements]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#caret-requirements++If and only if a Rust compiler considers itself to have a version which is+greater or equal to the version in the `semver` string will the+`#[cfg(version(<semver>)]` flag be considered active.+Greater or equal is defined in terms of [caret requirements].++## `#[cfg(accessible($path))]`++To the `cfg` attribute, an `accessible` flag is added.++### Syntactic form++This flag requires that a `path` fragment be specified in it inside parenthesis+but not inside a string literal. The `$path` must start with leading `::`+and may not refer to any parts of the own crate (e.g. with `::crate::foo`,+`::self::foo`, or `::super::foo` if such paths are legal).+This restriction exists to ensure that the user does not try to+conditionally compile against parts of their own crate because that crate+has not been compiled when the `accessible` flag is checked on an item.++### Basic semantics++If and only if the path referred to by `$path` does exist and is public+will the `#[cfg(accessible($path))]` flag be considered active.++### `#![feature(..)]` gating ++In checking whether the path exists or not, the compiler will consider+feature gated items to exist if the gate has been enabled.++**NOTE:** In the section on `#[cfg(nightly)]` and in the+[guide level explanation][guide-level-explanation] we note that there are+some risks when combining `cfg(feature = "unstable")` and `accessible(..)` to+add conditional support for an unstable feature that is expected to stabilize.+With respect to such usage:++1. User-facing documentation, regarding `accessible(..)` should highlight risky+   scenarios, including with examples, with respect to possible breakage.++2. Our stability policy is updated to state that breakage caused due to misuse+   of `accessible(..)` is _allowed_ breakage. Consequently, rust teams will not+   delay releases or un-stabilize features because they broke a crate using+   `accessible(..)` to gate on those features.++### Inherent implementations++If a path refers to an item inside an inherent implementation,+the path will be considered to exist if any configuration of generic+parameters can lead to the item. To check whether an item exists for+an implementation with a specific sequence of concrete types applied to+a type constructor, it is possible to use the `::foo::bar::<T>::item` syntax.++### Fields++It is also possible to refer to fields of `struct`s, `enum`s, and `unions`.+Assuming that we have the following definitions in the `foobar` crate:++```rust+pub struct Person { pub ssn: SSN, age: u16 }++pub enum Shape<Unit> {+    Triangle { pub sides: [Unit; 3] },+    ...+}++pub union MaybeUninit<T> { uninit: (), pub value: T }+```++We can then refer to them like so:++```rust+#[cfg(all(+    accessible(::foobar::Person::ssn),+    accessible(::foobar::Shape::Triangle::sides),+    accessible(::foobar::Shape::MaybeUninit::value)+))]+fn do_stuff() {+    ...+}+```++### Macros++Finally, bang macros, derive macros, attributes of all sorts including+built-in, user provided, as well as latent derive helper attributes,+will be considered when determining if a path is accessible.++## `cfg_attr` and `cfg!`++Note that the above sections also apply to the attribute `#[cfg_attr(..)]` as+well as the special macro `cfg!(..)` in that `version(..)` and `accessible(..)`+are added to those as well.++# Drawbacks+[drawbacks]: #drawbacks++One argument is that hypothetically, if the standard library removed+some unstable item, then we might "not notice" if everyone uses it through+`#[cfg(accessible(..))]`.++## Incremental garbage code and its collection++It sometimes happens that feature gates never make it to stable and+that they instead get scrapped. This occurs infrequently.+However, when this does happen, code that is conditionally compiled under+`#[cfg(accessible(::std::the::obsoleted::path))]` will become garbage that+just sits around. Over time, this garbage can grow to a non-trivial amount.++However, if we provide LTS channels in the style of [RFC 2483],+then there are opportunities to perform some "garbage collection"+of definitions that won't be used when the LTS version changes.++# Rationale and alternatives+[alternatives]: #rationale-and-alternatives++## `accessible(..)`++The primary rationale for the `accessible` mechanism is that when you+want to support some library feature, it is some path you are thinking of+rather than what version it was added. For example, if you want to use+`ManuallyDrop`, you can just ask if it exists. The `version` is instead a+proxy for the feature. Instead of detecting if the path we want is available+or not via an indirection, we can just check if the path exists directly.+This way, a user does not have to look up the minimum version number for+the feature.++You may think that `version(..)` subsumes `accessible(..)`.+However, we argue that it does not. This is the case because at the time of+enabling the `feature = "unstable"` feature that enables the path in libstd,+we do not yet know what minimum version it will be supported under.+If we try to support it with `version(..)`, it is possible that we may+need to update the minimum version some small number of times.+However, doing so even once means that you will need to release new versions+of your crate. If you instead use `accessible(..)` you won't need to use+it even once unless the name of the path changes in-between.++Another use case `accessible(..)` supports that `version(..)` doesn't is checking+support for atomic types, e.g. `accessible(::std::sync::atomic::AtomicU8)`.+This subsumes the proposed `#[cfg(target_has_atomic = "..")]` construct.++### Preventing relative paths++The reason why we have enforced that all paths must start with `::` inside+`accessible(..)` is that if we allow relative paths, and users write+`accessible(self::foo)`, then they can construct situations such as:++```rust+#[cfg(accessible(self::bar)]+fn foo() {}++#[cfg(accessible(self::foo)]+fn bar() {}+```++One way around this is to collect all items before `cfg`-stripping,+but this can cause problems with respect to stage separation.+Therefore, we prevent this from occurring with a simple syntactic check.++One mechanism we could use to make relative paths work is to use a different+resolution algorithm for `accessible(..)` than for `use`. We would first+syntactically reject `self::$path`, `super::$path`, and `crate::$path`.+The resolution algorithm would then need to deal with situations such as:++```rust+#[cfg(accessible(bar)]+fn foo() {}++#[cfg(accessible(foo)]+fn bar() {}+```++by simply not considering local items and assuming that `bar` and `foo` are +crates. While that would make `accessible($path)` a bit more ergonomic by+shaving off two characters, chances are, assuming the `uniform_paths` system,+that it would lead to surprises for some users who think that `bar` and `foo`+refer to the local crate. This is problematic because it is not immediately+evident for the user which is which since a different crate is needed to observe+the difference.++Also do note that requiring absolute paths with leading `::` is fully+forward-compatible with not requiring leading `::`. If we experience that+this restriction is a problem in the future, we may remove the restriction.++### `#[cfg(accessible(..))` or `#[cfg(accessible = ..)`++We need to decide between the syntax `accessible(..)` or `accessible = ..`.+The reason we've opted for the former rather than the latter is that the+former syntax looks more like a question/query whilst the latter looks more+like a statement of fact.++In addition, if we would like to enable `accessible = $path` we would need to+extend the meta grammar. We could justify that change in and of itself by+observing that crates such as `serde_derive` permit users to write things like+`#[serde(default = "some::function")]`. By changing the grammar we can allow+users to instead write: `#[serde(default = some::function)]`.+However, in this case, `accessible($path)` seems the optimal notation.++If we would like to extend the meta grammar, we could do so by changing:++```+named_value : "=" lit ;++meta_or_lit : meta | lit ;+meta_or_lit_list : meta_or_lit "," meta_or_lit_list ","? ;+meta_list : "(" meta_or_lit_list ")" ;+meta : path ( named_value | meta_list )? ;+```++into:++```+lit_or_path : path | lit ;+named_value : "=" lit_or_path ;++meta_or_lit : meta | lit ;+meta_or_lit_list : meta_or_lit "," meta_or_lit_list ","? ;+meta_list : "(" meta_or_lit_list ")" ;+meta : path ( named_value | meta_list )? ;+```++### The bikeshed++One might consider other names for the flag instead of `accessible`.+Some contenders are:+++ `reachable`++ `path_accessible`++ `usable`++ `can_use`++ `path_exists`++ `have_path` (or `has_path`)++ `have`++ `have_item`++ `path_reachable`++ `item_reachable`++ `item_exists`++#### `accessible`++Currently `accessible` is the choice because it clearly signals the intent+while also being short enough to remain ergonomic to use.+In particular, while `path_accessible` might be somewhat more unambiguous,+we argue that from the context of seeing `accessible(::std::foo::bar)`+it is clear that it is paths we are talking about because the argument+is a path and not something else.++#### `reachable`++The word `reachable` is also a synonym of `accessible` and is one character +shorter. However, it tends to have a different meaning in code. Examples include:+++ `std::hint::unreachable_unchecked`++ `std::unreachable`++All in all, we have chosen to go with `accessible` instead as the+more intuitive option.++#### `usable`++While `can_use` and `usable` are also strong contenders, we reject these options+because they may imply to the user that only things that you may `use $path;` can+go in there. Meanwhile, you may `#[cfg(accessible(::foo::MyTrait::my_method))`+which is *not* possible as `use ::foo::MyTrait::my_method;`. This also applies+to other associated items and inherent methods as well as `struct` fields.++#### `has_path`++Another strong contender is `has_path` or `have_path`.++However, this variant is vague with respect to what "having" something means.+In other words, it does not say whether it refers to being accessible and public,+or whether it is usable, and so on.++As we previously noted, having `path` in the+name is also somewhat redundant because it is clear that `::std::bar` is a path.++Another small wrinkle is that it is unclear whether it should be `have` or `has`.+That choice depends on what one things the subject is. For example, if one +considers a module to be an "it", then it should probably be `has`.++One upside to `has_path` is that it has precedent from the `clang` compiler.+For example, a user may write: `#if __has_feature(cxx_rvalue_references)`+or `__has_feature(c_generic_selections)`.++Another benefit is that `has_` gives us the opportunity to introduce a family+of `has_path`, `has_feature`, and `has_$thing` if we so wish.++## `#[cfg(version(..))`++When it comes to `version(..)`, it is needed to support conditional compilation+of language features as opposed to library features as previously shown.+Also, as we've seen, `version(..)` does not subsume `accessible(..)` but is+rather a complementary mechanism.++One problem specific to `version(..)` is that it might get too `rustc` specific.+It might be difficult for other Rust implementations than `rustc` to work with+this version numbering as libraries will compile against `rustc`s release+numbering. However, it is possible for other implementations to follow+`rustc` in the numbering and what features it provides. This is probably not+too unreasonable as we can expect `rustc` to be the reference implementation+and that other ones will probably lag behind. Indeed, this is the experience+with `GHC` and alternative Haskell compilers.

This does bring though the idea that whichever release version becomes stable will probably become the new minimum stable rust version that a lot of libraries will bump to. It might be good to pair it's release with a major feature(s) so that the most amount of people can be benefit from them.

Centril

comment created time in a day

PR opened rust-lang/rust

Add Compatibility Notes to RELEASES.md for 1.39.0

Rendered

r? @Mark-Simulacrum

+7 -0

0 comment

1 changed file

pr created time in a day

create barnchXAMPPRocky/rust

branch : relnotes

created branch time in a day

create barnchXAMPPRocky/rust

branch : update-relnotes

created branch time in a day

issue commentrust-lang/rust-forge

Please publish release tarballs with vendor directories filled.

@andrewchambers Distributions & Package maintainers aren't something I believe are not in the manifest files.

andrewchambers

comment created time in a day

issue commentrust-lang/rust-forge

Please publish release tarballs with vendor directories filled.

This looks like this functionality would be easy to the mdbook plugin, however I don't know what the expected content to put in "Other Installation Methods". Which tarballs of which toolchains should be shown? What do we say about what the intended purpose of them is?

andrewchambers

comment created time in 2 days

issue closedXAMPPRocky/tokei

JSON output format changed without notice

The JSON output format changed to wrap everything in a key called inner. This is pretty weird and wasn't in the changelog.

Ideally this would be reverted. If there's some need to separate the per-language listing from other info, then this inner key should instead be changed to something like languages. Either way, this also needs to go into the changelog, and the output format should be kept as stable as possible going forwards.

closed time in 2 days

lilyball

issue commentXAMPPRocky/tokei

JSON output format changed without notice

@lilyball Thank you for your issue! However this change wasn't without notice as it came with a major semver version. I'd also like to point out that this change isn't recent. Looking at the git blame of src/language/languages.rs this struct has had the inner field for over three years.

I'm also not going to make any stability claims other than my best attempt at following semver. I am not paid for my work on tokei, so I do not have the resources to provide any kind of stability support.

lilyball

comment created time in 2 days

pull request commentCraneStation/cranelift

Replaced instances of SparseSet with EntitySet

Also cc @nbp

XAMPPRocky

comment created time in 2 days

Pull request review commentCraneStation/cranelift

Replaced instances of SparseSet with EntitySet

 where         self.elems[index / 8] |= 1 << (index % 8);         result     }++    /// Removes and returns the last `K` from the set if any are present.+    pub fn pop(&mut self) -> Option<K> {+        if let Some(k) = self.keys().next_back() {

@bjorn3 Okay, I've reimplemented and added a test to make sure it works.

XAMPPRocky

comment created time in 2 days

push eventXAMPPRocky/cranelift

Erin Power

commit sha 50ab88eea49123b00e9a0327246b8a0ca7f1af57

Replaced instances of SparseSet with EntitySet

view details

push time in 2 days

push eventXAMPPRocky/cranelift

Rett Berg

commit sha d13a7b2ac3383495906c988f509b43c681ac9155

fix reflink in CONTRIBUTING.md

view details

Wander Lairson Costa

commit sha 92b0a20ea7dfac069d094cb40fdc2c6c03939f78

[frontend] Add message for pristine assertion violation After we add any instruction to an EBB, we can't add EBB parameters anymore. There is an assertion in `append_ebb_param` to detect this error, but the backtrace generated doesn't give any hint what happened. We add an error message to the assertion so the user can understand what is wrong. fixes #1003

view details

julian-seward1

commit sha a04514abc8bf1e3d156fad3eacc46f413de74719

legalizer/split.rs: split_ebb_params: avoid pointless Vec allocations. (#1025) This function is responsible for 2.2% of all heap allocation (calls) in CL. This change avoids all of them in the (presumably) common case where none of the parameters require splitting. It also slightly reduces the compiler's instruction count.

view details

Andy Wortman

commit sha c064d2ff3d9729735926dfe58ce9ef48f060e420

Use 'xor r, r' to set registers to 0 instead of mov (#766)

view details

bookmoons

commit sha 374fd238b06860a1e6e3f8bb9eb598afe91b90fe

Continuous fuzzing (#944) Enables automated fuzzing on Fuzzit. Runs fuzz regression tests every push and PR. Runs full fuzzing every push. Fuzzit emails if it finds crashes. Uses the existing fuzz targets: * translate-module - Fuzz valid WebAssembly modules. * reader-parse - Fuzz IR text format parsing.

view details

Till Schneidereit

commit sha 2f98941bec68ac1c53b4181cd57c228348997b3c

Revert "Continuous fuzzing (#944)" (#1036) This reverts commit 374fd238b06860a1e6e3f8bb9eb598afe91b90fe.

view details

Erin Power

commit sha 9c6f8feb0f28f50434c0cf67f3f7c07486a42b7e

Revert "Remove FunctionBuilderContext from API, and change FunctionBuilder API" This reverts commit 39e638af99dbe6537bc935bfb1a74669b62877b3.

view details

Wander Lairson Costa

commit sha fa5ad60dd8cd937b5d585c8d2d66248db87b4647

[codegen] Check for downcasting in bitcast instruction Bitcasting to a smaller size is invalid. closes #854

view details

Andrew Brown

commit sha 92f5c55449b5aee42b09c4436289d815d429b72f

Add verifier check to ensure each SIMD lane index is within bounds, fixes #1016

view details

bookmoons

commit sha 635101880663c99479a14d986d0c34eee80fde2e

Continuous fuzzing with Fuzzit (#1042) Enables automated fuzzing on Fuzzit. Runs fuzz regression tests every push and PR. Runs full fuzzing every push. Fuzzit emails if it finds crashes. Uses the existing fuzz targets: * translate-module - Fuzz valid WebAssembly modules. * reader-parse - Fuzz IR text format parsing.

view details

bjorn3

commit sha 37a1f0627cede3bee6863b8652ab9a448b8507f8

Correctly zero extend operand of fcvt_from_uint for 8ints and 16bit ints (#997) Fixes #996

view details

AnthonyMikh

commit sha 5045a970eb8fac2c97a8cc9051ad7876befdae22

Simplify and rename `Stackmap::from_vec` (#1032) Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>

view details

Erin Power

commit sha e275159d875be75672d33e5ef4132238fc65b643

Fixed broken pipe race condition in ensure_installed

view details

Joshua Nelson

commit sha ddd479000c48b17572e580d84a5c18d4d0f46188

fix broken link in cranelift-object

view details

Erin Power

commit sha 5d52ca1155b6321d5515b5018b8bc111d778f5a9

Replaced instances of SparseSet with EntitySet

view details

push time in 2 days

issue openedrust-lang/wg-governance

Shared Team Schedule

Talking with @skade about scheduling a meeting for a working group, I realised that we have no communication between teams about scheduling meetings, so it's difficult to know if the meeting times you picked don't already conflict with other teams, or you could end up stacking meetings and a member who's on multiple teams could have multiple hours of meeting on a given week.

While we normally are free form in what tools teams use to organise, coordinating and using some kind shared calendar would help reduce a lot of friction for all team members, especially those who are in multiple teams or working groups.

created time in 2 days

delete branch XAMPPRocky/www.rust-lang.org

delete branch : timetill.rs

delete time in 2 days

push eventrust-lang/rust-forge

linkmauve

commit sha da3f91d1e3bcc4eb114ad5842c3bd6e2c9d9bdbf

Add rustc and cargo for Haiku platforms. (#230) Haiku now provides both `rustc` and `cargo` in their latest release, see: https://github.com/haikuports/haikuports/blob/master/dev-lang/rust/

view details

push time in 3 days

PR merged rust-lang/rust-forge

Check rustc and cargo for Haiku

Haiku now provides both rustc and cargo in their latest 1.35.0 release, see: https://github.com/haikuports/haikuports/blob/master/dev-lang/rust/

+2 -2

5 comments

1 changed file

linkmauve

pr closed time in 3 days

pull request commentrust-lang/rust-forge

Check rustc and cargo for Haiku

Thank you again for your PR and congrats on your first contribution!

linkmauve

comment created time in 3 days

delete branch dac-gmbh/gbl

delete branch : dependabot/cargo/hex-0.4.0

delete time in 3 days

push eventdac-gmbh/gbl

dependabot-preview[bot]

commit sha ddbe00162b38fcce7ebad5241f8c2ca4a5135323

chore(deps): update hex requirement from 0.3.2 to 0.4.0 (#16) Updates the requirements on [hex](https://github.com/KokaKiwi/rust-hex) to permit the latest version. - [Release notes](https://github.com/KokaKiwi/rust-hex/releases) - [Commits](https://github.com/KokaKiwi/rust-hex/commits) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

push time in 3 days

PR merged dac-gmbh/gbl

chore(deps): update hex requirement from 0.3.2 to 0.4.0 dependencies

Updates the requirements on hex to permit the latest version. <details> <summary>Commits</summary>

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

+1 -1

0 comment

1 changed file

dependabot-preview[bot]

pr closed time in 3 days

pull request commentrust-lang/rust-forge

Check rustc and cargo for Haiku

@linkmauve I am aware of that. However typically when the PR's content's is entirely different we ask for the person to make a new PR and reference the old PR. It accomplishes the same goal without leaving open inactive PRs. I've opened it back up though so you can now force push.

linkmauve

comment created time in 3 days

PullRequestEvent

Pull request review commentrust-lang/blog.rust-lang.org

"Upcoming docs.rs changes"

+---+layout: post+title: "Upcoming docs.rs changes"+author: The Rust Infrastructure Team+---++On September 42nd breaking changes will be deployed to the [docs.rs] build+environment. [docs.rs] is a free service building and hosting documentation for+all the crates published on [crates.io]. It's [open source][docsrs-source] and+maintained by the [Rustdoc team][rustdoc-team].++## What will change++Builds will be executed inside the [rustops/crates-build-env] Docker image.+That image contains a lot of system dependencies installed to ensure we can+build as many crates as possible. It's already used by [Crater], and we added+all the dependencies previously installed in the legacy build environment.++To ensure we can continue operating the service in the future and to increase+its reliability we also improved the sandbox builds are executed into, adding+new limits:++* Each platform will now have **15 minutes** to build its dependencies and+  documentation.+* **3 GB of RAM** will be available for the build.+* Network access will be completly **disabled**.+* Only the `target/` directory will be writable, and it will be purged after+  each build.++Finally, docs.rs will now use the latest nightly available when building+crates.++## How to prepare for the changes++To test if your crate builds inside the new environment you can download the+Docker image locally and execute a shell inside it:++```+docker pull rustops/crates-build-env+docker run --rm -it rustops/crates-build-env bash+```++Once you're in a shell you can install [rustup] (it's not installed in the+image), install Rust nightly, clone your crate's repository and then build the+documentation:++```+cargo doc --no-deps+```++If a dependency is missing please [open an issue][crates-build-env-issue] on+the Docker image's repository.++If your crate fails to build because it took more than 15 minutes to generate+its docs or it uses more than 3 GB of RAM please [open an issue][docsrs-issue]

Could we add time to the command? That way people will see some kind of time estimate.

pietroalbini

comment created time in 3 days

Pull request review commentCraneStation/cranelift

Replaced instances of SparseSet with EntitySet

 where         self.elems[index / 8] |= 1 << (index % 8);         result     }++    /// Removes and returns the last `K` from the set if any are present.+    pub fn pop(&mut self) -> Option<K> {+        if let Some(k) = self.keys().next_back() {

How would you suggest to get the last key?

XAMPPRocky

comment created time in 3 days

PR opened CraneStation/cranelift

Fixed broken pipe race condition in ensure_installed

Cargo doesn't exit gracefully when it receives a broken pipe, when it does it outputs as non zero exit code triggering the else branch. This doesn't happen in every case, but I can get it consistently on macOS 10.14.6 for ensure_installed cargo-deadlinks.

https://github.com/CraneStation/cranelift/blob/92f5c55449b5aee42b09c4436289d815d429b72f/test-all.sh#L76

This changes the condition from piping cargo's output into collecting the output into a anonymous file and providing that as an argument to grep.

+1 -1

0 comment

1 changed file

pr created time in 3 days

create barnchXAMPPRocky/cranelift

branch : ensure-fix

created branch time in 3 days

push eventXAMPPRocky/cranelift

Erin Power

commit sha 5df5bb0f20cb5bafebefa10b911d3dc65fc1115b

Replaced instances of SparseSet with EntitySet

view details

push time in 3 days

Pull request review commentrust-lang/www.rust-lang.org

Add timetill.rs to the community page.

 community-meetup-header = Find a local meetup or conference community-meetup = There are more than 90 Meetups and several conferences worldwide in over 35 countries. Rustaceans meet periodically in Rust User Groups. They are a great introduction to the community and a great way to learn and socialize with other people with a similar interest. Meetings are usually informal and open to everyone. community-calendar = View Calendar community-conference-lineup = Check out the 2019 Conference Lineup+community-timetill-cta = Visit timetill.rs

@badboy Updated.

XAMPPRocky

comment created time in 3 days

push eventXAMPPRocky/www.rust-lang.org

Erin Power

commit sha 713a1de0c29181506f62a05377cdd4ed555a9583

Add timetill.rs to the community page.

view details

push time in 3 days

delete branch XAMPPRocky/cranelift

delete branch : revert-671

delete time in 4 days

pull request commentrust-lang/www.rust-lang.org

Improve section title legibility

@skade I agree. Alfa Slab has the problem of not having only a single typeface, so it is difficult to use across a website, if there were more varying weights it might be not be an issue. It is my belief that in the long term we'd want to consider choosing a font with a greater variety and extended character set. The process of doing that is something that would take quite awhile to reach consensus on. This PR is intended to be a small quality of life change to improve the current situation until a much more comprehensive solution can be found.

XAMPPRocky

comment created time in 4 days

PR closed rust-lang-nursery/mdBook

Update to notify-5.0.0-pre.1

this PR updates the notify dependency to 5.0.0-pre.1. Normally I think we should wait for a stable version of dependencies, however notify-4.0 which depends on fsevent-0.4 can no longer be built on macOS which means that cargo install mdbook now always fails. The watch and serve feature is very important for the CLI tool so I think we include this dependency until a more suitable solution is found. At the very least people can clone this fork to build their mdbook on macOS until then.

+105 -18

2 comments

3 changed files

XAMPPRocky

pr closed time in 4 days

pull request commentrust-lang-nursery/mdBook

Update to notify-5.0.0-pre.1

@ehuss Yeah, with the fsevent release being yanked this is no longer needed.

XAMPPRocky

comment created time in 4 days

pull request commentCraneStation/cranelift

Revert #671

@sunfishcode I agree, I think that a optimal solution will take enough time to merit reverting for now. I attempted a refactor last weekend but couldn't find a satisfactory implementation.

XAMPPRocky

comment created time in 5 days

pull request commentrust-lang/www.rust-lang.org

Improve section title legibility

@skade This PR still keeps Alfa Slab One as the typeface for all titles/h1s. It's only sub heading that are affected.

XAMPPRocky

comment created time in 5 days

pull request commentrust-lang/www.rust-lang.org

Improve section title legibility

@Manishearth Could you expand on what you mean by language portability? This PR does not add or remove any fonts or typefaces.

XAMPPRocky

comment created time in 5 days

push eventrust-lang/rust-forge

lzutao

commit sha 2e3803705553780e60f45296cf3b70ec8d43b4a0

Add missing link to byteorder (#257)

view details

push time in 5 days

PR merged rust-lang/rust-forge

Add missing link to byteorder
+1 -0

1 comment

1 changed file

lzutao

pr closed time in 5 days

pull request commentrust-lang/rust-forge

Add missing link to byteorder

Thank you for your PR!

lzutao

comment created time in 5 days

issue commentrust-lang/rust-forge

Time information for Platform support page

@apopiak I would find that information would be more useful if it was part of a specific platform's own documentation rather than in Rust Forge, this information would be hard to verify. I would prefer to stick to more objective measures of support such as rustup's target list, which would also be guaranteed up to date as it integrates with our current release infrastructure.

apopiak

comment created time in 5 days

PR opened rust-lang/rust-forge

Small cleanup

this PR updates the Cargo.lock, removes an unneeded feature from the blacksmith plugin, and removes the old inval-list.py script.

+194 -208

0 comment

3 changed files

pr created time in 6 days

push eventXAMPPRocky/rust-forge

Mark Rousskov

commit sha a83f53fd43a54bcbfbae1dff330b550aa5e5421f

Merge pull request #254 from XAMPPRocky/master Fixed time range

view details

Eric Huss

commit sha 45be8e4199c4cd2b6cfca67b889def300a6fd4d7

Fix off-by-one in toolstate breakage week start. (#245)

view details

Erin Power

commit sha 4ccca45b0b2b5fb27dea9b98146784418e80884e

Updated Dependencies

view details

Erin Power

commit sha b956d8d110feebc8424c44ffaa7fa8b3d4cf334a

Removed inval-list.py

view details

push time in 6 days

issue commentrust-lang/rust-forge

List missing targets

@SimonSapin I've added those platforms to the Rust Forge, however I didn't include their level of support as I can't test all those platforms. Would you be okay with closing this in favour of #255?

SimonSapin

comment created time in 6 days

issue openedrust-lang/rust-forge

Document tier 3 platform support

Tier 3 platforms

This is a tracking issue for adding documentation to the previously undocumented platforms.

  • [ ] aarch64-unknown-freebsd
  • [ ] aarch64-unknown-hermit
  • [ ] aarch64-unknown-netbsd
  • [ ] aarch64-unknown-none
  • [ ] aarch64-unknown-redox
  • [ ] aarch64-uwp-windows-msvc
  • [ ] aarch64-wrs-vxworks
  • [ ] armv4t-unknown-linux-gnueabi
  • [ ] armv6-unknown-freebsd
  • [ ] armv6-unknown-netbsd-eabihf
  • [ ] armv7-unknown-freebsd
  • [ ] armv7-unknown-netbsd-eabihf
  • [ ] armv7-wrs-vxworks-eabihf
  • [ ] hexagon-unknown-linux-musl
  • [ ] i686-unknown-dragonfly
  • [ ] i686-uwp-windows-gnu
  • [ ] i686-uwp-windows-msvc
  • [ ] i686-wrs-vxworks
  • [ ] mips64-unknown-linux-muslabi64
  • [ ] mips64el-unknown-linux-muslabi64
  • [ ] mipsisa32r6-unknown-linux-gnu
  • [ ] mipsisa32r6el-unknown-linux-gnu
  • [ ] mipsisa64r6-unknown-linux-gnuabi64
  • [ ] mipsisa64r6el-unknown-linux-gnuabi64
  • [ ] powerpc-unknown-linux-musl
  • [ ] powerpc-unknown-netbsd
  • [ ] powerpc-wrs-vxworks
  • [ ] powerpc-wrs-vxworks-spe
  • [ ] powerpc64-unknown-freebsd
  • [ ] powerpc64-unknown-linux-musl
  • [ ] powerpc64-wrs-vxworks
  • [ ] powerpc64le-unknown-linux-musl
  • [ ] riscv32i-unknown-none-elf
  • [ ] sparc64-unknown-openbsd
  • [ ] thumbv7a-pc-windows-msvc
  • [ ] thumbv8m.base-none-eabi
  • [ ] thumbv8m.main-none-eabi
  • [ ] thumbv8m.main-none-eabihf
  • [ ] wasm32-experimental-emscripten
  • [ ] x86_64-pc-solaris
  • [ ] x86_64-unknown-hermit
  • [ ] x86_64-unknown-l4re-uclibc
  • [ ] x86_64-unknown-uefi
  • [ ] x86_64-wrs-vxworks

created time in 6 days

issue closedrust-lang/rust-forge

Add icons for stable, beta and nightly

I was thinking of something similar to Firefox channels.

What Rust is it? already does this for beta, it would be nice for Rust Forge to have the same, with the addition of a nightly-specific logo.

I'd be happy to try and make the icons, but I wanted to know whether this is desired by anyone else.

closed time in 6 days

chocol4te

issue commentrust-lang/rust-forge

Add icons for stable, beta and nightly

This issue isn't relevant anymore as the layout of the channels is now a plain table instead of a three column list, so logos aren't really needed to fill the whitespace anymore.

chocol4te

comment created time in 6 days

issue closedrust-lang/rust-forge

Point to the compiler book

closed time in 6 days

gnzlbg

issue commentrust-lang/rust-forge

Point to the compiler book

Closing this as we link to rustc-guide in the "Compiler" section.

gnzlbg

comment created time in 6 days

issue closedrust-lang/rust-forge

Add section on bors/homu rollups

  • what they are
  • why we do them
  • how to do them

closed time in 6 days

frewsxcv

issue commentrust-lang/rust-forge

Add section on bors/homu rollups

This is now documented in Rust Forge in "Service Architecture".

frewsxcv

comment created time in 6 days

issue commentrust-lang/rust-forge

How to add support for a new target to Rust

@japaric Thank you for your issue, is the answer you link in the original post still relevant today? If so I can make a PR adding it to the Rust Forge.

japaric

comment created time in 6 days

issue closedrust-lang/rust-forge

Time information for Platform support page

When looking at the Tier 3 information on the platform support page I don't have any idea when this was last updated. It would be really helpful if I could check for e.g. Solaris when x86_64-sun-solaris was built successfully and with which version of the compiler.

closed time in 6 days

apopiak

issue commentrust-lang/rust-forge

Time information for Platform support page

Thank you for your issue! Tier 3 platforms are not built in CI, so if platform has stopped working we have no way to provide that information. I'd recommend getting in contact with those involved with working on support for the specific platforms you're interested.

apopiak

comment created time in 6 days

pull request commentrust-lang/rust-forge

Describe the rollup process

@aidanhs Hello, unfortunately the project layout has changed such that we can no longer merge this PR in current state. If you have the time would you be able to update this or make a new PR?

aidanhs

comment created time in 6 days

push eventrust-lang/rust-forge

Eric Huss

commit sha 45be8e4199c4cd2b6cfca67b889def300a6fd4d7

Fix off-by-one in toolstate breakage week start. (#245)

view details

push time in 6 days

PR merged rust-lang/rust-forge

Fix off-by-one in toolstate breakage week start.

IIUC, based on the rules in checktools.sh, Tue before release is 41, Wed is 0. The check is -ge 35. 35 is the Wednesday of the prior week. The current forge site says "no tools breakage starts Aug 6", which is Tuesday. But a tool broke today, so I believe it starts tomorrow.

+1 -1

5 comments

1 changed file

ehuss

pr closed time in 6 days

pull request commentrust-lang/rust-forge

Fix off-by-one in toolstate breakage week start.

@ehuss Thank you I just made a PR to fix that. 😅

ehuss

comment created time in 6 days

PR opened rust-lang/rust-forge

Fixed time range
+1 -1

0 comment

1 changed file

pr created time in 6 days

push eventXAMPPRocky/rust-forge

Mark Rousskov

commit sha 324d6310d606de9a7f674c53f75b205dbeddd544

Merge pull request #252 from XAMPPRocky/master Actually fixed JS

view details

Jonas Schievink

commit sha 10365f33b247ea58332c3e3f74895c2e1fe6b4c0

Merge pull request #253 from XAMPPRocky/master Moved Windows to correct section.

view details

Jonas Schievink

commit sha 5585b3f2f17f0799681930ed1964c34f16c02136

Update unlabeled PRs link to exclude `S-inactive` (#242)

view details

Erin Power

commit sha 376cd50b65f1522f6a106d6261fb2fd5984280de

Fixed time range

view details

push time in 6 days

push eventXAMPPRocky/rust-forge

Erin Power

commit sha cf3dc5dc44495698f22a641a18f36467fef27885

Fixed time range

view details

push time in 6 days

pull request commentrust-lang/rust-forge

Remove redundant info from tracking issue titles

@shepmaster Thank you for your PR, unfortunately this PR now has merge conflicts and needs to be rebased to be merged.

What is the current status of this PR? Would it be safe to agree that there's no clear consensus on a naming scheme for tracking issues?

shepmaster

comment created time in 6 days

PR closed rust-lang/rust-forge

Check rustc and cargo for Haiku

Haiku now provides both rustc and cargo in their latest 1.35.0 release, see: https://github.com/haikuports/haikuports/blob/master/dev-lang/rust/

+4 -4

1 comment

1 changed file

linkmauve

pr closed time in 6 days

pull request commentrust-lang/rust-forge

Check rustc and cargo for Haiku

@linkmauve Thank you for your PR! Sorry for the late response. The format of the repository has changed and this PR can no longer be merged. If you have the time, would you be able to make another PR? We want more platform support documentation. You can find the relevant table in platform support.

linkmauve

comment created time in 6 days

pull request commentrust-lang/rust-forge

Fix off-by-one in toolstate breakage week start.

@ehuss Hey, sorry that this PR now has merge conflicts. Would you be able to check if this is still present? And we can then merge this or another PR.

ehuss

comment created time in 6 days

push eventrust-lang/rust-forge

Jonas Schievink

commit sha 5585b3f2f17f0799681930ed1964c34f16c02136

Update unlabeled PRs link to exclude `S-inactive` (#242)

view details

push time in 6 days

PR closed rust-lang/rust-forge

Document build process

It might be helpful to document the site build process for development.

+27 -3

1 comment

1 changed file

chocol4te

pr closed time in 6 days

pull request commentrust-lang/rust-forge

Document build process

Unfortunately this PR has languished and is now not relevant to the current state of the project. Thank you for your PR and sorry that it wasn't merged sooner.

chocol4te

comment created time in 6 days

startedXAMPPRocky/rust-forge

started time in 6 days

PR opened rust-lang/rust-forge

Moved Windows to correct section.
+1 -1

0 comment

1 changed file

pr created time in 6 days

push eventXAMPPRocky/rust-forge

Erin Power

commit sha bdeafe17f5bb9a419c331f3e2e5bd673e225b659

Moved Windows to correct section.

view details

push time in 6 days

push eventXAMPPRocky/rust-forge

Erin Power

commit sha 55ca9122969a5886d0958c5bee6c6d52f8e0095f

Actually fixed JS

view details

push time in 6 days

PR opened rust-lang/rust-forge

Actually fixed JS

I made a mistake, apparently the original js/index.js changes were lost in all the rebasing. This adds the correct and tested JS. This also adds caching for mdbook as the builds are far too long.

+13 -18

0 comment

2 changed files

pr created time in 6 days

push eventXAMPPRocky/rust-forge

Mark Rousskov

commit sha 2cece07cd89306ec629e89c10953c76f21e6a817

Merge pull request #249 from XAMPPRocky/master Move Rust Forge to mdBook

view details

Erin Power

commit sha eaf25431afc34b099e94e6ec3d79e02f3df4fba3

Removed unneeded JS query

view details

Mark Rousskov

commit sha 3375d8fa251472cec1e467546dbcf88ad16c63ab

Merge pull request #251 from XAMPPRocky/fix-js Removed unneeded JS query

view details

Erin Power

commit sha 41a6197fcbd6e2f87c2ef994c66290b22444fe25

Actually fixed JS

view details

push time in 6 days

startedrust-lang-nursery/mdBook

started time in 6 days

PR opened rust-lang/rust-forge

Removed unneeded JS query

This line from the old code somehow made it through, and breaks the JS currently as .tools-no-breakages-header no longer exists.

+0 -2

0 comment

1 changed file

pr created time in 6 days

create barnchXAMPPRocky/rust-forge

branch : fix-js

created branch time in 6 days

PR opened CraneStation/cranelift

Replaced instances of SparseSet with EntitySet

resolves #858

+10 -14

0 comment

3 changed files

pr created time in 6 days

push eventXAMPPRocky/cranelift

Dan Gohman

commit sha 100fa1248e7b116589a0f2c00a81a2a16900f79e

Bump version to 0.41.0

view details

Benjamin Bouvier

commit sha 9fe5245c2607968cfa337e6e32cacef1250de093

[meta] Try to use {prefix+number} when looking up a register by name; This makes it possible to look up registers like r15 on x86.

view details

Benjamin Bouvier

commit sha 900e57aca7f14c52dd359199d5cbbc08fd3edab2

[regalloc] Transform the program_input_abi function into a Context method; It was implemented this way before to avoid borrow-checking issues, where self would be both mutably borrowed (because of the solver) and immutably borrowed (because of the ABI parameters list). This is worked around by adding a local AbiParams struct which contains a summary of the information that's needed by program_input_abi, allowing to retrieve the ABI params within the method's body itself.

view details

Benjamin Bouvier

commit sha 207205272da1a46388644a4d7a4a60ecc4d6e7e6

Tweak comments;

view details

Benjamin Bouvier

commit sha b73dc98df10cc61fa17c76e574092bac6501044d

Remove Travis CI; (#967)

view details

Julian Seward

commit sha 396d2870e2b10a5992e75177cb2d13a87f264957

Don't incorrectly omit a REX prefix for some encodings of `copy_to_ssa`. Mozilla bug #1576969. Also, as a ridealong fix, removes R32 encodings for x86_64 in `enc_r32_r64`, since the type `rXX` by definition only exists for targets with word size `XX` bits.

view details

Andrew Brown

commit sha bda45f4ac780a8e2e9db6e2ba32c1628348af1a2

Improve uimm128 parsing This commit changes 128-bit constant parsing in two ways: - it adds the ability to use underscores to separate digits when writing a 128-bit constant in hexadecimal; e.g. `0x00010203...` can now be written as `0x0001_0203_...` - it adds a new mechanism for parsing 128-bit constants using integer/float/boolean literals; e.g. `vconst.i32x4 [1 2 3 4]`. Note that currently the controlling type of the instruction dictates how many literals to parse inside the brackets.

view details

Benjamin Bouvier

commit sha f2e5132dc0930ce9ae553904e413d6b095da2840

[codegen] Make scalar_to_vector's output type a lane of its input type;

view details

Pat Hickey

commit sha bff2fd221deb1f8fbe4d392a10665ac304144dd7

upgrade to target-lexicon 0.8.0 * the target-lexicon crate no longer has or needs the std feature in cargo, so we can delete all default-features=false, any mentions of its std feature, and the nostd configs in many lib.rs files * the representation of arm architectures has changed, so some case statements needed refactoring

view details

Pat Hickey

commit sha 1d63cfdbe64bb3707804707ae2339f003aa31ee4

upgrade to faerie 0.11.0 which fixes a use-after-free bug under the hood

view details

Nicolas B. Pierron

commit sha b720e8acbecd132b55da28c649a451e33bd60d46

Basic-block: Insert regmove instructions in new blocks dedicated to hold the diversions.

view details

Ujjwal Sharma

commit sha 3e71ee04140e85b8f9d4c4c40d28262a0410fc54

[codegen] add encodings for iadd carry variants (#961) * [codegen] add encodings for iadd carry variants Add encodings for iadd carry variants (iadd_cout, iadd_cin, iadd_carry) for x86_32, enabling the legalization for iadd.i64 to work. * [codegen] remove support for iadd carry variants on riscv Previously, the carry variants of iadd (iadd_cin, iadd_cout and iadd_carry) were being legalized for isa/riscv since RISC architectures lack a flags register. This forced us to return and accept booleans for these operations, which proved to be problematic and inconvenient, especially for x86. This commit removes support for said statements and all dependent statements for isa/riscv so that we can work on a better legalization strategy in the future. * [codegen] change operand type from bool to iflag for iadd carry variants The type of the carry operands for the carry variants of the iadd instruction (iadd_cin, iadd_cout, iadd_carry) was bool for compatibility reasons for isa/riscv. Since support for these instructions on RISC architectures has been temporarily suspended, we can safely change the type to iflags.

view details

Sean Stangl

commit sha 850db85db6d0b1c3d1eb654b0415a02fc1fbc970

Limit redundant jump folding to only fold parameterless target blocks (#972)

view details

Benjamin Bouvier

commit sha dcaa7f5ba618d72c9dd24a29c9a485dc24ab0d07

Tweak comments;

view details

Benjamin Bouvier

commit sha 7c536043befa2880c24e55d93bc113617680f14f

[meta] Split FormatBuilder::imm to avoid the extra Into<> parameter type;

view details

Benjamin Bouvier

commit sha 45892f74c35495e271ce692d59fbdbd21ad0d893

[meta] Simplify and comment instruction building a bit;

view details

Benjamin Bouvier

commit sha 6850d8e60daf128633366b8c98461b0fb1972581

[meta] Remove unused immfield index in the FormatField;

view details

Ujjwal Sharma

commit sha f9cec789a1e0c40e3f73a8838fc547a50a63bd67

[codegen] add encodings for isub borrow variants Add encodings for isub borrow variants (isub_bout, isub_bin, isub_borrow) for x86_32, enabling the legalization for isub.i64 to work. Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1576675 Bug: https://github.com/CraneStation/cranelift/issues/765

view details

Ujjwal Sharma

commit sha 5c94b0c1438b3d3879d10f47ef39591fe5ff5db7

[codegen] remove support for isub borrow variants on riscv Previously, the borrow variants of isub (isub_bin, isub_bout and isub_borrow) were being legalized for isa/riscv since RISC architectures lack a flags register. This forced us to return and accept booleans for these operations, which proved to be problematic and inconvenient, especially for x86. This commit removes support for said statements and all dependent statements for isa/riscv so that we can work on a better legalization strategy in the future.

view details

Ujjwal Sharma

commit sha 31e7c298c3f1a64f99fdc57e9c873024733305b6

[codegen] change operand type from bool to iflag for isub borrow variants The type of the borrow operands for the borrow variants of the isub instruction (isub_bin, isub_bout, isub_borrow) was bool for compatibility reasons for isa/riscv. Since support for these instructions on RISC architectures has been temporarily suspended, we can safely change the type to iflags.

view details

push time in 6 days

startedEmbarkStudios/cargo-deny

started time in 6 days

PR opened CraneStation/cranelift

Revert #671

As shown in #1018 , #671 caused significant regressions. This PR reverts that change.

resolves #1018 #1021

This reverts commit 39e638af99dbe6537bc935bfb1a74669b62877b3.

+172 -162

0 comment

11 changed files

pr created time in 6 days

create barnchXAMPPRocky/cranelift

branch : revert-671

created branch time in 6 days

PR opened rust-lang/www.rust-lang.org

Add timetill.rs to the community page.

This adds timetill.rs to list of event call to actions on the community page.

resolves #914

Screenshot 2019-09-14 at 14 39 36

+6 -0

0 comment

2 changed files

pr created time in 7 days

create barnchXAMPPRocky/www.rust-lang.org

branch : timetill.rs

created branch time in 7 days

PR opened rust-lang/www.rust-lang.org

Improve section title legibility

This PR changes the font for h2's to use Fira Sans Extra Bold, over the Alfa Slab One typeface. The reasoning for this is that I find Alfa Slab One to be hard to read outside of large title type. The spacing is incredibly tight, to the point that it can be hard to read even on high resolution displays. I initially attempted to only change the spacing, however Alfa Slab One looks best when it is compressed, when spaced out the letters feel far from each other.

So I tried changing the typeface to Fira Sans, and I found it to be a significant improvement. In order to maintain a visual hierarchy I also reduced the weight of h3 and h4's to Semi Bold, so that they were still clearly distinct from both the body text and their headers.

I've included screenshots below of some of the main areas this change impacts.

Landing page

homepage-diff

CLI feature list

font-change-list

Footer

footer-diff

+10 -7

0 comment

1 changed file

pr created time in 7 days

push eventXAMPPRocky/www.rust-lang.org

Erin Power

commit sha d5d7d1bd07807aeafde11cd49297533cbe24b218

Changed h2's font to Fira Sans Extra Bold, and h3 + h4's to Fira Sans Semi Bold

view details

push time in 7 days

push eventXAMPPRocky/www.rust-lang.org

Erin Power

commit sha cdf54f9a5cfb6e082a25d96c6c6c0da20fe77931

Changed h2's font to Fira Sans Heavy, and h3's to Fira Sans Bold

view details

push time in 7 days

pull request commentrust-lang/rust-forge

Move Rust Forge to mdBook

@Mark-Simulacrum I just rebased resolve the merge conflicts so it should be ready to merge now.

XAMPPRocky

comment created time in 7 days

push eventXAMPPRocky/rust-forge

John Simon

commit sha 8dfcbd7634d00724540bba1b5e01ea1841bcae09

adding additions to triage procedure as per comments by centril on discord (#250) * adding additions to triage procedure as per comments by centril on discord * adding additional info on the RFC form and the last resort nomination process

view details

Erin Power

commit sha d89a96a42fdc99a3975b145ac446be86938fc957

Moved Rust Forge content to mdbook

view details

Erin Power

commit sha 7df214b09a2d9624a08ebc83d29532ae64056685

Moved crate root to blacksmith directory

view details

Erin Power

commit sha edd938e40ce34d60c872ce2b1d8b15fcc8a10927

Implemented mdbook preprocessor

view details

push time in 7 days

PR opened rust-lang-nursery/mdBook

Update to notify-5.0.0-pre.1

this PR updates the notify dependency to 5.0.0-pre.1. Normally I think we should wait for a stable version of dependencies, however notify-4.0 which depends on fsevent-0.4 can no longer be built on macOS which means that cargo install mdbook now always fails. The watch and serve feature is very important for the CLI tool so I think we include this dependency until a more suitable solution is found. At the very least people can clone this fork to build their mdbook on macOS until then.

+105 -18

0 comment

3 changed files

pr created time in 8 days

push eventXAMPPRocky/mdBook

Erin Power

commit sha 5fe7b9ba7d70e058d1e0e02b9e9528f0104f7922

Updated to notify-5.0.0-pre.1

view details

push time in 8 days

fork XAMPPRocky/mdBook

Create book from markdown files. Like Gitbook but implemented in Rust

fork in 8 days

push eventdac-gmbh/asn1

Erin Power

commit sha 8b870ddb7faad0b61152c5d4b8ce7149a405ac96

Initial PER crate

view details

Erin Power

commit sha 07ad5b196eda5292d3dad64ea8afa2e8ffc192dc

Updated all crate's Cargo.toml

view details

Erin Power

commit sha dd4eb239b4c11cfa6ee60da9adb8f3c86b03d282

WIP: Still figuring out absent detection

view details

Erin Power

commit sha 57036e0b31d06c2a86c98d89178308d5a738493c

Working on derive macro to solve problem

view details

Erin Power

commit sha 6cd4430fab1978edbff1ce4820b99e6b7a2c020d

Replaced compiletest-rs with build script, implemented TagEncoding information

view details

Erin Power

commit sha 32f8138edeb007b849c3c1fa8b1030cb1dbcad1b

Changed generation to be based on structs and traits

view details

Erin Power

commit sha 92ce54c7e4e97bf6a37e1c41009310bcda28a0a6

implemented tag_encoding codegen

view details

Erin Power

commit sha 44fc3ed442a139208445c7fb91c2b39be6f97f97

Implementing PER procedural macro

view details

Erin Power

commit sha bc55409cca0421502c705d237e2717ef51b1a0e8

Implemented size & fixed proc macro attributes

view details

Erin Power

commit sha adb782c4b53dd8c3c7627ec3d01b4fde96cc19aa

fixed buffer variable not being used

view details

Erin Power

commit sha c5577983af4f50c8fc6c70e0afea58d221cab412

Added support for encoding enums, vecs, and improved macro attribute handling

view details

Erin Power

commit sha baa86efd74c78c82f07998f3c0c66a1e3c7808a7

Fixed warning

view details

Erin Power

commit sha 944d23b7dc0e2bb9a2cf579b1bf53262b41b15fe

Implemented PerEncodable for fixed length arrays

view details

Erin Power

commit sha 6f7d13136f58c1bb1f41b764b8b94b83474b9976

refactored enum generation

view details

push time in 9 days

push eventXAMPPRocky/rust-forge

Erin Power

commit sha 87074a71f1ead83dd0ce9d7c93e1b7a2ca739297

Implemented mdbook preprocessor

view details

push time in 12 days

push eventXAMPPRocky/rust

Erin Power

commit sha cfcc5c296ed6fabcc8b9d380eaaea8a7352299fd

Updated RELEASES.md for 1.38.0

view details

push time in 12 days

more