profile
viewpoint
Steve Klabnik steveklabnik @oxidecomputer Austin, TX http://steveklabnik.com All i'm trying to do is enjoy every day to the fullest with my Pokémon.

github/opensource.guide 7409

📚 Community guides for open source creators

intermezzOS/kernel 1173

A hobby operating system, in Rust

d-unseductable/ruru 767

Native Ruby extensions written in Rust

ashleygwilliams/breakfast-repo 372

a collection of videos, recordings, and podcasts to accompany our morning coffee

jcasimir/locale_setter 122

A simple library to set request locale based on a hierarchy of factors

judofyr/timeless 120

A mixture of a blog, wiki and CMS, inspired by Christoffer Sawicki's Termos and James Adam's Vanilla.rb

nikomatsakis/office-hours 114

Help me help you!

assert-rs/dir-diff 37

Are the contents of two directories different?

rust-dev-tools/dev-tools-team 35

resources for the Rust dev-tools team

qrush/shp 28

A new UI for git. This doesn't work yet.

issue commentsteveklabnik/semver-parser

Consider reducing number of dependencies

It's all good. I am also annoyed because I really care about semver's compile time, and part of me switching to pest for this series was that the compile times seemed very small to me.

matklad

comment created time in 6 hours

pull request commentrust-lang/rust

Define `fs::hard_link` to not follow symlinks.

cc @rust-lang/libs

sunfishcode

comment created time in 6 hours

pull request commentsteveklabnik/semver-parser

Improve compile times and number of dependencies by replacing proc-macro with codegen

I will try to ship this as a .1 later today. Thanks!

matklad

comment created time in 6 hours

Pull request review commentsteveklabnik/semver-parser

Improve compile times and number of dependencies by replacing proc-macro with codegen

+//! `pest_derive` crate has large dependency tree, and, as a build dependency,+//! it imposes these deps onto our consumers.+//!+//! To avoid that, let's just dump generated code to string into this+//! repository, and add a test that checks that the code is fresh.+use std::{+    fs,+    io::Write,+    process::{Command, Stdio},+    time::Instant,+};++const PREAMBLE: &str = "\+//! This is @generated code, do not edit by hand.+//! See `semver.pest` and `genpest.rs`.+#![allow(unused_attributes)]+#![rustfmt::skip]+use super::SemverParser;+";++#[test]+fn generated_code_is_fresh() {+    let t = Instant::now();++    let token_stream = {+        let grammar = include_str!("../src/semver.pest");+        let input = format!(+            r###"+#[derive(Parser)]+#[grammar_inline = r#"{}"#]+struct SemverParser;+"###,+            grammar+        )+        .parse::<proc_macro2::TokenStream>()+        .unwrap();++        let ts = pest_generator::derive_parser(input.into(), true);+        eprintln!("Generated code in {:02?}", t.elapsed());+        ts+    };++    let current = {+        let current = fs::read("./src/generated.rs").unwrap_or_default();+        String::from_utf8(current).unwrap()+    };++    let is_up_to_date = {+        let current = normalize(&current[PREAMBLE.len()..]);+        let generated = normalize(&token_stream.to_string());+        current == generated+    };++    // Rustfmt takes ages on this input, so fast-path skip it for unchanged+    // code.+    if is_up_to_date {+        return;+    }++    let code = {+        eprintln!("Reformatting (this will take couple of minutes)");+        let t = Instant::now();+        let code = reformat(&token_stream.to_string());+        let code = format!("{}\n{}", PREAMBLE, code);+        eprintln!("Reformatted in {:02?}", t.elapsed());+        code+    };++    fs::write("./src/generated.rs", code).unwrap();+    panic!("Generated code in the repository is outdated, updating...");

ah! thank you. I didn't see this part. This should help.

matklad

comment created time in 6 hours

PullRequestReviewEvent

push eventrust-lang/edition-guide

Eric Huss

commit sha 5f47ffc9f837ca294210fe95d542b8d7a74d4185

Update deprecated GitHub Actions commands.

view details

Steve Klabnik

commit sha 2782ae5720357ac994bbed382d243b2245a90d4a

Merge pull request #220 from ehuss/github-deprecated-action-commands Update deprecated GitHub Actions commands.

view details

push time in 6 hours

PR merged rust-lang/edition-guide

Update deprecated GitHub Actions commands.

The old method of echoing commands is being deprecated, see https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/.

+1 -1

0 comment

1 changed file

ehuss

pr closed time in 6 hours

PullRequestReviewEvent

issue commentsteveklabnik/semver-parser

Consider reducing number of dependencies

I would generally encourage cargo_metadata to stick to the same version of semver as cargo itself; i have not tried to update cargo with the latest versions of semver. i don't expect there to be drift between versions, but also haven't taken time to actually verify (other than our test suite) that that's the case.

Yes, there's no actual timeline for the re-write. I'm getting there, but I'm not guaranteeing a date, so you're doing the right thing for sure.

If we can sort the question in #50 , I'd be happy to cut a .1.

matklad

comment created time in 6 hours

pull request commentsteveklabnik/semver-parser

Improve compile times and number of dependencies by replacing proc-macro with codegen

I am very sympathetic to the goals here but have no idea how to maintain this code.

matklad

comment created time in 6 hours

issue closedsteveklabnik/semver-parser

Consider reducing number of dependencies

I haven't looked into this yet, but I am a bit concerned about the tree of deps here:

│   ├── semver v0.11.0
│   │   ├── semver-parser v0.10.0
│   │   │   ├── pest v2.1.3
│   │   │   │   └── ucd-trie v0.1.3
│   │   │   └── pest_derive v2.1.0
│   │   │       ├── pest v2.1.3 (*)
│   │   │       └── pest_generator v2.1.3
│   │   │           ├── pest v2.1.3 (*)
│   │   │           ├── pest_meta v2.1.3
│   │   │           │   ├── maplit v1.0.2
│   │   │           │   └── pest v2.1.3 (*)
│   │   │           │   [build-dependencies]
│   │   │           │   └── sha-1 v0.8.2
│   │   │           │       ├── block-buffer v0.7.3
│   │   │           │       │   ├── block-padding v0.1.5
│   │   │           │       │   │   └── byte-tools v0.3.1
│   │   │           │       │   ├── byte-tools v0.3.1
│   │   │           │       │   ├── byteorder v1.3.4
│   │   │           │       │   └── generic-array v0.12.3
│   │   │           │       │       └── typenum v1.12.0
│   │   │           │       ├── digest v0.8.1
│   │   │           │       │   └── generic-array v0.12.3 (*)
│   │   │           │       ├── fake-simd v0.1.2
│   │   │           │       └── opaque-debug v0.2.3
│   │   │           ├── proc-macro2 v1.0.24 (*)
│   │   │           ├── quote v1.0.7 (*)
│   │   │           └── syn v1.0.45 (*)
│   │   └── serde v1.0.117 (*)

closed time in 6 hours

matklad

issue commentsteveklabnik/semver-parser

Consider reducing number of dependencies

I am actually re-writing the semver crate entirely and it will have zero dependencies. So, I am in support of this idea, but also don't need to keep an issue open for it. Thanks!

matklad

comment created time in 6 hours

push eventrust-lang/book

Shohei Ueda

commit sha 2a815316f5cec19c789895e0a482680c80d5328b

Use GITHUB_PATH instead of add-path https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ > Action and workflow authors who are setting environment variables via stdout should update any usage of the set-env and add-path workflow commands to use the new environment files.

view details

Steve Klabnik

commit sha dbe309e54fc0c3a4ea5556bd249d7d4888f3abea

Merge pull request #2477 from peaceiris/patch-1 Use GITHUB_PATH instead of add-path

view details

push time in 6 hours

PR merged rust-lang/book

Use GITHUB_PATH instead of add-path

https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

Action and workflow authors who are setting environment variables via stdout should update any usage of the set-env and add-path workflow commands to use the new environment files.

+2 -2

0 comment

1 changed file

peaceiris

pr closed time in 6 hours

PullRequestReviewEvent

Pull request review commentrust-lang/book

Referencing to Appendix B

 The following code shows how you’d use each one in a `let` statement: ```  Each expression in these statements uses a mathematical operator and evaluates-to a single value, which is then bound to a variable. Appendix B contains a-list of all operators that Rust provides.-+to a single value, which is then bound to a variable. [Appendix B][appendix_b]<!-- ignore --> contains a+list of all operators that Rust provides. 

thanks, but you also deleted a newline, could you bring that back, please?

nododile-me

comment created time in 6 hours

PullRequestReviewEvent

issue closedrust-lang/book

Why do slices make ths bug(calling s.clear unexpectedly) impossible?

In the string slice link

fn first_word(s: &String) -> &str {
    let bytes = s.as_bytes();

    for (i, &item) in bytes.iter().enumerate() {
        if item == b' ' {
            return &s[0..i];
        }
    }

    &s[..]
}

fn main() {
    let mut s = String::from("hello world");

    let word = first_word(&s);

    s.clear(); // error!

    println!("the first word is: {}", word);
}

The compiler says below:

| let word = first_word(&s);
|                       -- immutable borrow occurs here

So I think "immutable borrow occurs here" is talking about &s instead of "let word". But if I change

 let word = first_word(&s);

to

 first_word(&s);

The compiler error disappears. So it makes me feel that "immutable borrow occurs here" is talking about "let word" instead of "&s".

And if first_word's return value depends only on another string (which means first_word doesn't depends on the &s at all) as below:

fn first_word(s: &String) -> &str {
    println!("the input for first word is: {}", s);

    let s1 = "hi rust";
    let bytes = s1.as_bytes();

    for (i, &item) in bytes.iter().enumerate() {
        if item == b' ' {
            return &s1[0..i];
        }
    }

    &s1[..]
}

The compiler still says below:

| let word = first_word(&s);
|                       -- immutable borrow occurs here

Slices make this bug impossible and let us know we have a problem with our code much sooner. So I don't quite understand why slices make ths bug impossible.

And also I am very confused about what the compiler does actually for generating "immutable borrow occurs here". And I still cannot understand, why string slice can Any insight would be much appreciated!

closed time in 6 hours

GingerMoon

issue commentrust-lang/book

Why do slices make ths bug(calling s.clear unexpectedly) impossible?

Hi there! We try to keep the issue tracker soley for bugs. Please ask questions like this over at users.rust-lang.org. I'll keep a look out for a thread over there. Thank you!

GingerMoon

comment created time in 6 hours

Pull request review commentrust-lang/rust

Clean up and improve some docs

 //! //! For example, say we have the following: //! ```-//!     // x: (Option<bool>, Result<()>)-//!     match x {-//!         (Some(true), _) => {}-//!         (None, Err(())) => {}-//!         (None, Err(_)) => {}-//!     }+//! // x: (Option<bool>, Result<()>)+//! match x {+//!     (Some(true), _) => {}+//!     (None, Err(())) => {}+//!     (None, Err(_)) => {}+//! } //! ``` //! Here, the matrix `P` starts as:+//! ``` //! [ //!     [(Some(true), _)], //!     [(None, Err(()))], //!     [(None, Err(_))], //! ]+//! ```

the general comment style is to put an empty line between code fences and the stuff around it, that is

//! ```
//!
//! We can tell it's

doing this for all of the code fences in this PR would be appreciated.

camelid

comment created time in 7 hours

PullRequestReviewEvent

issue commentrust-lang/rust

unused_mut warning gives bad suggestion in a macro

Triage: this still gives the warning, and still fails to compile if you apply the warning.

ehuss

comment created time in a day

issue commentrust-lang/rust

Tracking issue for RFC 2412, "The optimize attribute"

Triage: not aware of any movements here lately.

Centril

comment created time in 2 days

issue commentrust-lang/rust

rustdoc: Provide a way to hide the body of item definitions without hiding the entire thing.

Triage: I don't think that this happened, from looking at the settings page.

alercah

comment created time in 4 days

issue commentrust-lang/rust

Rustdoc should not fail to generate documentation when deep types are involved

Triage: not aware of any changes here

nagisa

comment created time in 5 days

issue commentrust-lang/rust

Cannot write doc-tests in markdown files

Right, code examples work, but doc examples inside of code don't.

jyn514

comment created time in 5 days

pull request commentrust-lang/rust

Add exploit mitigations chapter to the rustc book

I'd like someone from @rust-lang/compiler to approve this PR. I don't have any more feedback, but ultimately, this is about their part of the project, and it's a big addition.

Sorry for this taking so long, @rcvalle .

rcvalle

comment created time in 5 days

issue closedrust-lang/book

Listing 12-10 failed to compile

cargo build gives the following error:

error[E0308]: mismatched types
  --> src/main.rs:10:58
   |
10 |       let config = Config::new(&args).unwrap_or_else(|err| {
   |  __________________________________________________________^
11 | |         println!("Problem parsing arguments: {}", err);
12 | |         process::exit(1);
13 | |     });
   | |_____^ expected struct `Config`, found `()`

closed time in 6 days

haochenuw

issue commentrust-lang/book

Listing 12-10 failed to compile

I believe that you have put something in the wrong place; this listing does in fact compile. It seems to me that you put this code in Config::new and not main, but, I would encourage you to post on users.rust-lang.org with more details if you are still seeing an error. Thank you!

haochenuw

comment created time in 6 days

issue commentrust-lang/book

Mention `mod.rs` style in Ch 7

Yes.

JakobDegen

comment created time in 6 days

pull request commentrust-lang/rust

make exp_m1 and ln_1p examples more representative of use

I still have not used these functions and so don't know if it's an improvement, so I shouldn't be the reviewer.

tspiteri

comment created time in 6 days

issue commentrust-lang/rust

Trivial proc macro crate can't be found for doc tests

Triage: this seems to be working now:

~/Documents
❯ git clone https://github.com/jrobsonchase/proc_macro_problem
Cloning into 'proc_macro_problem'...
remote: Enumerating objects: 13, done.
remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13
Unpacking objects: 100% (13/13), 1.29 KiB | 55.00 KiB/s, done.
~/Documents
❯ cd proc_macro_problem\baz
proc_macro_problem/baz on 📙 master is 📦 v0.1.0 via 🦀 v1.46.0
❯ cargo test
    Updating crates.io index
   Compiling proc-macro2 v0.4.30
   Compiling unicode-xid v0.1.0
   Compiling syn v0.15.44
   Compiling quote v0.6.13
   Compiling foo v0.1.0 (C:\Users\steve\Documents\proc_macro_problem\foo)
   Compiling baz v0.1.0 (C:\Users\steve\Documents\proc_macro_problem\baz)
    Finished test [unoptimized + debuginfo] target(s) in 11.61s
     Running target\debug\deps\baz-01d343961c658c59.exe

running 1 test
test tests::it_works ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests baz

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

@jrobsonchase can you confirm?

jrobsonchase

comment created time in 6 days

issue commentrust-lang/rust

Rustdoc should allow copying `use` statements into clipboard with 1 click

Triage: no changes here that I'm aware of.

Boscop

comment created time in 7 days

issue commentrust-lang/rust

Confusing diagnostic for lifetime mismatch

Triage: this message is still the same, and I do think it's a bit confusing, personally.

smarnach

comment created time in 10 days

pull request commentsemver/semver

feat: Add specification for SemVer Ranges

I don't think any of these are "fixable", we can not bring this in line with the spec without breaking BC in major ways for all the existing packages/constraints, so overall I don't think it'd be worth it.

Personally, my stance here is not that we should fix our implementations, but that we should:

  1. define what we do have in common
  2. enumerate the differences and leave it up to "implementation defined", spec-wise.

This allows for greater interoperability, because you can do things like "the rust semver package can have a flag to get npm semantics so that you can build npm-compatible tools."

isaacs

comment created time in 11 days

Pull request review commentrust-lang/rust

Explain fully qualified syntax for `Rc` and `Arc`

 //! `Rc<T>` automatically dereferences to `T` (via the [`Deref`] trait), //! so you can call `T`'s methods on a value of type [`Rc<T>`][`Rc`]. To avoid name //! clashes with `T`'s methods, the methods of [`Rc<T>`][`Rc`] itself are associated-//! functions, called using function-like syntax:+//! functions, called using [fully qualified syntax]: //! //! ``` //! use std::rc::Rc;-//! let my_rc = Rc::new(()); //!+//! let my_rc = Rc::new(()); //! Rc::downgrade(&my_rc); //! ``` //!+//! `Rc<T>`'s implementations of traits like `Clone` should also be called using+//! fully qualified syntax to avoid confusion as to whether the *reference* is being+//! cloned or the *backing data* (`T`) is being cloned:+//!+//! ```+//! use std::rc::Rc;+//!+//! let my_rc = Rc::new(());+//! let your_rc = Rc::clone(&my_rc);+//! ```

still waiting for this change, @camelid . (I don't like it but it appears to be the consensus.)

camelid

comment created time in 11 days

PullRequestReviewEvent
PullRequestReviewEvent

pull request commenttokio-rs/tracing

core: remove mandatory liballoc dependency with no-std

siiiick excited to give this a try!

hawkw

comment created time in 12 days

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

release blog post for Rust 1.47

+---+layout: post+title: "Announcing Rust 1.47.0"+author: The Rust Release Team+release: true+---++The Rust team is happy to announce a new version of Rust, 1.47.0. Rust is a+programming language that is empowering everyone to build reliable and+efficient software.++If you have a previous version of Rust installed via rustup, getting Rust+1.47.0 is as easy as:++```console+rustup update stable+```++If you don't have it already, you can [get `rustup`][install] from the+appropriate page on our website, and check out the [detailed release notes for+1.47.0][notes] on GitHub.++[install]: https://www.rust-lang.org/tools/install+[notes]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1470-2020-10-08++## What's in 1.47.0 stable++This release contains no new language features, though it does add one+long-awaited standard library feature. It is mostly quality of life+improvements, library stabilizations and const-ifications, and toolchain+improvements. See the [detailed release notes][notes] to learn about other+changes not covered by this post.++#### Traits on larger arrays++Rust does not currently have a way to be generic over integer values. This+has long caused problems with arrays, because arrays have an integer as part+of their type; `[T; N]` is the type of an array of type `T` of `N` length.+Because there is no way to be generic over `N`, you have to manually implement+traits for arrays for every `N` you want to support. For the standard library,+it was decided to support up to `N` of 32.++We have been working on a feature called "const generics" that would allow+you to be generic over `N`. Fully explaining this feature is out of the scope+of this post, because we are not stabilizing const generics just yet.+However, the core of this feature has been implemented in the compiler, and+it has been decided that the feature is far enough along that we are okay+with [the standard library using it to implement traits on arrays of any+length](https://github.com/rust-lang/rust/pull/74060/). What this means in+practice is that if you try to do something like this on Rust 1.46:++```rust+fn main() {+    let xs = [0; 34];+    +    println!("{:?}", xs);+}+```++you'd get this error:++```text+error[E0277]: arrays only have std trait implementations for lengths 0..=32+ --> src/main.rs:4:22+  |+4 |     println!("{:?}", xs);+  |                      ^^ the trait `std::array::LengthAtMost32` is not implemented for `[{integer}; 34]`+  |+  = note: required because of the requirements on the impl of `std::fmt::Debug` for `[{integer}; 34]`+  = note: required by `std::fmt::Debug::fmt`+  = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)+```++But with Rust 1.47, it will properly print out.++This should make arrays significantly more useful to folks, though it will+take until the const generics feature stabilizes for libraries to fully be+able to do this kind of implementation for their own traits. We do not have+a current estimated date for the stabilization of const generics.++#### Shorter backtraces++Back in Rust 1.18, we [made some changes to the backtraces `rustc` would+print on panic](https://github.com/rust-lang/rust/pull/38165). There are a+number of things in a backtrace that aren't useful the majority of the time.+However, at some point, [these+regressed](https://github.com/rust-lang/rust/issues/47429). In Rust 1.47.0,+the culprit was found, and [this has now been+fixed](https://github.com/rust-lang/rust/pull/75048). Since the regression,+this program:++```rust+fn main() {+    panic!();+}+```++would give you a backtrace that looks like this:++```text+thread 'main' panicked at 'explicit panic', src/main.rs:2:5+stack backtrace:+   0: backtrace::backtrace::libunwind::trace+             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86+   1: backtrace::backtrace::trace_unsynchronized+             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66+   2: std::sys_common::backtrace::_print_fmt+             at src/libstd/sys_common/backtrace.rs:78+   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt+             at src/libstd/sys_common/backtrace.rs:59+   4: core::fmt::write+             at src/libcore/fmt/mod.rs:1076+   5: std::io::Write::write_fmt+             at src/libstd/io/mod.rs:1537+   6: std::sys_common::backtrace::_print+             at src/libstd/sys_common/backtrace.rs:62+   7: std::sys_common::backtrace::print+             at src/libstd/sys_common/backtrace.rs:49+   8: std::panicking::default_hook::{{closure}}+             at src/libstd/panicking.rs:198+   9: std::panicking::default_hook+             at src/libstd/panicking.rs:217+  10: std::panicking::rust_panic_with_hook+             at src/libstd/panicking.rs:526+  11: std::panicking::begin_panic+             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/panicking.rs:456+  12: playground::main+             at src/main.rs:2+  13: std::rt::lang_start::{{closure}}+             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/rt.rs:67+  14: std::rt::lang_start_internal::{{closure}}+             at src/libstd/rt.rs:52+  15: std::panicking::try::do_call+             at src/libstd/panicking.rs:348+  16: std::panicking::try+             at src/libstd/panicking.rs:325+  17: std::panic::catch_unwind+             at src/libstd/panic.rs:394+  18: std::rt::lang_start_internal+             at src/libstd/rt.rs:51+  19: std::rt::lang_start+             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/rt.rs:67+  20: main+  21: __libc_start_main+  22: _start+```++Now, in Rust 1.47.0, you'll see this instead:++```text+thread 'main' panicked at 'explicit panic', src/main.rs:2:5+stack backtrace:+   0: std::panicking::begin_panic+             at /rustc/d6646f64790018719caebeafd352a92adfa1d75a/library/std/src/panicking.rs:497+   1: playground::main+             at ./src/main.rs:2+   2: core::ops::function::FnOnce::call_once+             at /rustc/d6646f64790018719caebeafd352a92adfa1d75a/library/core/src/ops/function.rs:227+```++This makes it much easier to see where the panic actually originated, and+you can still set `RUST_BACKTRACE=full` if you want to see everything.++#### LLVM 11++We have [upgraded to LLVM 11](https://github.com/rust-lang/rust/pull/73526/).+The compiler still supports being compiled with LLVM versions as old as 8,+but by default, 11 is what you'll be getting.++#### Control Flow Guard on Windows++`rustc` [now supports](https://github.com/rust-lang/rust/pull/73893/) `-C+control-flow-guard`, an option that will turn on [Control Flow+Guard](https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard)+on Windows. Other platforms ignore this flag.++### Library changes++[Rustdoc has gained support for the Ayu theme](https://github.com/rust-lang/rust/pull/71237/).

Where do you think the right place is? It sorta doesn't fit into the language/stdlib split we use.

steveklabnik

comment created time in 12 days

PullRequestReviewEvent

issue commentactions-rs/toolchain

Breaking changes plan for v2

another +1 for multiple targets here

svartalf

comment created time in 12 days

issue openedsteveklabnik/livestream

consider a state machine

thanks twitch chat! (I don't know your github username or i would tag you...)

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4b9eb625a26e5aaad36a7bf86f116583

created time in 13 days

push eventsteveklabnik/livestream

Steve Klabnik

commit sha 9ce6ac5ddd052adb19478fba7f62e5d00ad71691

Prerelease identifiers Now with proper leading zero handling

view details

push time in 13 days

push eventsteveklabnik/livestream

Steve Klabnik

commit sha 8ccb1e4064a2fd29e4a087b2598b068ce3069927

start on prerelease

view details

push time in 13 days

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

release blog post for Rust 1.47

 appropriate page on our website, and check out the [detailed release notes for  ## What's in 1.47.0 stable -This release contains no new significant features, and is mostly quality of-life improvements, library stabilizations and const-ifications, and toolchain+This release contains no new language features, though it does add one+long-awaited standard library feature. It is mostly quality of life+improvements, library stabilizations and const-ifications, and toolchain improvements. See the [detailed release notes][notes] to learn about other changes not covered by this post. +#### Traits on larger arrays++Rust does not currently have a way to be generic over integer values. This+has long caused problems with arrays, because arrays have an integer as part+of their type; `[T; N]` is the type of an array of type `T` of `N` length.+Because there is no way to be generic over `N`, you have to manually implement+traits for arrays for every `N` you want to support. For the standard library,+it was decided to support up to `N` of 32.++We have been working on a feature called "const generics" that would allow+you to be generic over `N`. Fully explaining this feature is out of the scope+of this post, because we are not stabilizing const generics just yet.+However, the core of this feature has been implemented in the compiler, and+it has been decided that the feature is far enough along that we are okay+with [the standard library using it to implement traits on arrays of any+length](https://github.com/rust-lang/rust/pull/74060/). What this means in+practice is that if you try to do something like this on Rust 1.46:++```rust+fn main() {+    let xs = [0; 34];+    +    println!("{:?}", xs);+}+```++you'd get this error:++```text+error[E0277]: arrays only have std trait implementations for lengths 0..=32+ --> src/main.rs:4:22+  |+4 |     println!("{:?}", xs);+  |                      ^^ the trait `std::array::LengthAtMost32` is not implemented for `[{integer}; 34]`+  |+  = note: required because of the requirements on the impl of `std::fmt::Debug` for `[{integer}; 34]`+  = note: required by `std::fmt::Debug::fmt`+  = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)+```++But with Rust 1.47, it will properly print out.

Yeah, I thought maybe this was a bit too spammy, so I left it out. If people prefer it in, I'm okay with that.

steveklabnik

comment created time in 13 days

PullRequestReviewEvent

pull request commentsemver/semver

feat: Add specification for SemVer Ranges

I've been trying to find the time, but it's been hard. It's still on my list, sorry :(

isaacs

comment created time in 13 days

push eventsteveklabnik/blog.rust-lang.org

Steve Klabnik

commit sha 010747d83af6e7a4fa88bc1c386c5fba172a60e1

add ayu shout-out

view details

Steve Klabnik

commit sha ca4eeaa39627c9e3c5113a9d141f38f0b6d720c8

const generics ftw

view details

push time in 14 days

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

release blog post for Rust 1.47

+---+layout: post+title: "Announcing Rust 1.47.0"+author: The Rust Release Team+release: true+---++The Rust team is happy to announce a new version of Rust, 1.47.0. Rust is a+programming language that is empowering everyone to build reliable and+efficient software.++If you have a previous version of Rust installed via rustup, getting Rust+1.47.0 is as easy as:++```console+rustup update stable+```++If you don't have it already, you can [get `rustup`][install] from the+appropriate page on our website, and check out the [detailed release notes for+1.47.0][notes] on GitHub.++[install]: https://www.rust-lang.org/tools/install+[notes]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1470-2020-10-08++## What's in 1.47.0 stable++This release contains no new significant features, and is mostly qualitify of+life improvements, library stabilizations and const-ifications, and toolchain+improvements. See the [detailed release notes][notes] to learn about other+changes not covered by this post.++#### Shorter backtraces++Back in Rust 1.18, we [made some changes to the backtraces `rustc` would+print on panic](https://github.com/rust-lang/rust/pull/38165). There are a+number of things in a backtrace that aren't useful the majority of the time.+However, at some point, [these+regressed](https://github.com/rust-lang/rust/issues/47429). In Rust 1.47.0,+the culprit was found, and [this has now been+fixed](https://github.com/rust-lang/rust/pull/75048). Since the regression,+this program:++```rust+fn main() {+    panic!();+}+```++would give you a backtrace that looks like this:++```text+thread 'main' panicked at 'explicit panic', src/main.rs:2:5+stack backtrace:+   0: backtrace::backtrace::libunwind::trace+             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86+   1: backtrace::backtrace::trace_unsynchronized+             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66+   2: std::sys_common::backtrace::_print_fmt+             at src/libstd/sys_common/backtrace.rs:78+   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt+             at src/libstd/sys_common/backtrace.rs:59+   4: core::fmt::write+             at src/libcore/fmt/mod.rs:1076+   5: std::io::Write::write_fmt+             at src/libstd/io/mod.rs:1537+   6: std::sys_common::backtrace::_print+             at src/libstd/sys_common/backtrace.rs:62+   7: std::sys_common::backtrace::print+             at src/libstd/sys_common/backtrace.rs:49+   8: std::panicking::default_hook::{{closure}}+             at src/libstd/panicking.rs:198+   9: std::panicking::default_hook+             at src/libstd/panicking.rs:217+  10: std::panicking::rust_panic_with_hook+             at src/libstd/panicking.rs:526+  11: std::panicking::begin_panic+             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/panicking.rs:456+  12: playground::main+             at src/main.rs:2+  13: std::rt::lang_start::{{closure}}+             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/rt.rs:67+  14: std::rt::lang_start_internal::{{closure}}+             at src/libstd/rt.rs:52+  15: std::panicking::try::do_call+             at src/libstd/panicking.rs:348+  16: std::panicking::try+             at src/libstd/panicking.rs:325+  17: std::panic::catch_unwind+             at src/libstd/panic.rs:394+  18: std::rt::lang_start_internal+             at src/libstd/rt.rs:51+  19: std::rt::lang_start+             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/rt.rs:67+  20: main+  21: __libc_start_main+  22: _start+```++Now, in Rust 1.47.0, you'll see this instead:++```text+thread 'main' panicked at 'explicit panic', src/main.rs:2:5+stack backtrace:+   0: std::panicking::begin_panic+             at /rustc/d6646f64790018719caebeafd352a92adfa1d75a/library/std/src/panicking.rs:497+   1: playground::main+             at ./src/main.rs:2+   2: core::ops::function::FnOnce::call_once+             at /rustc/d6646f64790018719caebeafd352a92adfa1d75a/library/core/src/ops/function.rs:227+```++This makes it much easier to see where the panic actually originated, and+you can still set `RUST_BACKTRACE=full` if you want to see everything.++#### LLVM 11++We have [upgraded to LLVM 11](https://github.com/rust-lang/rust/pull/73526/).+The compiler still supports being compiled with LLVM versions as old as 8,+but by default, 11 is what you'll be getting.++#### Control Flow Guard on Windows++`rustc` [now supports](https://github.com/rust-lang/rust/pull/73893/) `-C+control-flow-guard`, an option that will turn on [Control Flow+Guard](https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard)+on Windows. Other platforms ignore this flag.++### Library changes++Nine new APIs were stabilized this release:++- [`Ident::new_raw`]+- [`Range::is_empty`]+- [`RangeInclusive::is_empty`]+- [`Result::as_deref`]+- [`Result::as_deref_mut`]+- [`Vec::leak`]+- [`pointer::offset_from`]+- [`f32::TAU`]+- [`f64::TAU`]++Additonally, the following previously stable APIs have now been made `const`:++- [The `new` method for all `NonZero` integers.][73858]+- [The `checked_add`,`checked_sub`,`checked_mul`,`checked_neg`, `checked_shl`,+  `checked_shr`, `saturating_add`, `saturating_sub`, and `saturating_mul`+  methods for all integers.][73858]+- [The `checked_abs`, `saturating_abs`, `saturating_neg`, and `signum`  for all+  signed integers.][73858]+- [The `is_ascii_alphabetic`, `is_ascii_uppercase`, `is_ascii_lowercase`,+  `is_ascii_alphanumeric`, `is_ascii_digit`, `is_ascii_hexdigit`,+  `is_ascii_punctuation`, `is_ascii_graphic`, `is_ascii_whitespace`, and+  `is_ascii_control` methods for `char` and `u8`.][73858]++[`Ident::new_raw`]:  https://doc.rust-lang.org/nightly/proc_macro/struct.Ident.html#method.new_raw+[`Range::is_empty`]: https://doc.rust-lang.org/nightly/std/ops/struct.Range.html#method.is_empty+[`RangeInclusive::is_empty`]: https://doc.rust-lang.org/nightly/std/ops/struct.RangeInclusive.html#method.is_empty+[`Result::as_deref_mut`]: https://doc.rust-lang.org/nightly/std/result/enum.Result.html#method.as_deref_mut+[`Result::as_deref`]: https://doc.rust-lang.org/nightly/std/result/enum.Result.html#method.as_deref+[`TypeId::of`]: https://doc.rust-lang.org/nightly/std/any/struct.TypeId.html#method.of+[`Vec::leak`]: https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.leak+[`f32::TAU`]: https://doc.rust-lang.org/nightly/std/f32/consts/constant.TAU.html+[`f64::TAU`]: https://doc.rust-lang.org/nightly/std/f64/consts/constant.TAU.html+[73858]: https://github.com/rust-lang/rust/pull/73858/+

I don't personally think one new theme is a large change, but if the release team disagrees, I'm not opposed to adding it either.

steveklabnik

comment created time in 14 days

PullRequestReviewEvent

push eventsteveklabnik/blog.rust-lang.org

Steve Klabnik

commit sha f8c991c3449fed7e2766fa4f33be399ea6878b87

Update posts/2020-10-05-Rust-1.47.md Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>

view details

push time in 14 days

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

release blog post for Rust 1.47

@pietroalbini yep! I 10000% agree, I just completely missed it when reading the notes. Will add that in front and center.

steveklabnik

comment created time in 14 days

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

release blog post for Rust 1.47

r? @rust-lang/core @rust-lang/release

+180 -0

0 comment

1 changed file

pr created time in 14 days

create barnchsteveklabnik/blog.rust-lang.org

branch : rust-1.47

created branch time in 14 days

issue closedrust-lang/rust

Segmentation fault on nightly and beta when running with --release

I encountered a segmentation fault when running a program on nightly or beta in release mode. The segfault occurs somewhere in another crate but within safe code and only if --release is passed to cargo. I created a crate which is minimal setup to encounter this error: https://github.com/joeschman/tokio-timer-segfault A more detailed description can be found in the readme.

closed time in 14 days

joe-hauns

issue commentrust-lang/rust

Segmentation fault on nightly and beta when running with --release

One year later, with no reproduction instructions, I'm going to give this one a close. If anyone can make a reproduction, please let me know and we can re-open, thanks!

joe-hauns

comment created time in 14 days

pull request commentrust-lang/rust

Update lang item list in unstable book

r? @rust-lang/lang ?

MikailBag

comment created time in 14 days

PullRequestReviewEvent

push eventrust-lang/rfcs

Garrit Franke

commit sha 645124598a0eb8517f594c13565aaf2e96016907

2497: fix typo

view details

Steve Klabnik

commit sha 68e3b4d8fb5598099e369a9bc683daac7ac63e6b

Merge pull request #2998 from garritfra/patch-1 2497: fix typo

view details

push time in 14 days

PR merged rust-lang/rfcs

2497: fix typo not-rfc
+1 -1

0 comment

1 changed file

garritfra

pr closed time in 14 days

PullRequestReviewEvent

push eventrust-lang/book

Martin Torp

commit sha 73a1e3888b989f8f9a51c4282527a5cc3a45a104

clarify description of when ? can be used

view details

Steve Klabnik

commit sha 451a1e30f2dd137aa04e142414eafb8d05f87f84

Merge pull request #2471 from mtorp/master clarify description of when ? can be used

view details

push time in 14 days

PR merged rust-lang/book

clarify description of when ? can be used

I think the 'can be' should be replaced with a 'has to be' in this sentence:

The part of the match that requires a return type of Result is return Err(e), so the return type of the function can be a Result to be compatible with this return.

+1 -1

0 comment

1 changed file

mtorp

pr closed time in 14 days

PullRequestReviewEvent

issue commentrust-lang/book

Mention `mod.rs` style in Ch 7

mod.rs is not Rust 2018 style, so it should be completely gone.

We probably should fix chapter 11 to not include it either, I'm going to leave this bug open to track that.

JakobDegen

comment created time in 14 days

Pull request review commentrust-lang/rust

Revamp rustdoc docs about documentation using `cfg`

 pub struct UnixToken; Here, the respective tokens can only be used by dependent crates on their respective platforms, but they will both appear in documentation. +### Interactions between platform-specific docs++Rustdoc does not have a magic way to compile documentation 'as-if' you'd run it once for each+platform (such a magic wand has been called the ['holy grail of rustdoc'][#1998]). Instead,+it sees *all* of your code at once, the same way the Rust compiler would if you passed it+`--cfg doc`. However, Rustdoc has a trick up its sleeve to handle platform-specific code if it+*does* receive it.++To document your crate, Rustdoc only needs to know the public signature of your functions.+In particular, it doesn't have know how any of your functions are implemented, so it ignores+all type errors and name resolution errors with function bodies. Note that this does *not*+work for anything outside a function body: since Rustdoc documents your types, it has to+know what those types are! For example, this code will work regardless of the platform:++<!-- `ignore` because doc-tests are run with `rustc`, not `rustdoc` -->+```ignore+pub fn f() {+    use std::os::windows::ffi::OsStrExt;+}+```++but this will not, because the unknown type is part of the function signature:++```ignore+pub fn f<'a>() -> std::os::windows::ffi::EncodeWide<'a> {
pub fn f() -> std::os::windows::ffi::EncodeWide<'static> {
jyn514

comment created time in 14 days

PullRequestReviewEvent

issue commentrust-lang/cargo

Add a `--ignore-local-config` flag for ignoring local `.cargo/config.toml` files

I also would find this useful, I think. My situation is thus: I have a "build just this package" build, and a "build this package as part of a bigger project" build. For the former, setting some linker arguments in .cargo/config is great, but then for the second build, I don't want those settings, but different ones.

phil-opp

comment created time in 18 days

issue commentrust-lang/rust

Lifetime is unnecessarily captured in nested functions returning impl trait via async

Triage: to get this to compile on stable, you only need to remove the feature flag, the code still "works." It fails to compile, and removing 'static lets it still compile.

sfackler

comment created time in 20 days

pull request commentrust-lang/rust

Add unstable book docs for `-Zunsound-mir-opts`

@bors: r+ rollup

thank you!

wesleywiser

comment created time in 20 days

PullRequestReviewEvent

issue commentrust-lang/rust

Custom (synonym) suggestions for nonexistent methods

Triage: i don't believe anything has been done with this.

varkor

comment created time in 21 days

pull request commentrust-lang/async-book

Equalize .await to always use the `.` prefix

I would not use the dot. I don't have a strong opinion about the graves.

cheriimoya

comment created time in 21 days

pull request commentrust-lang/team

Remove myself from the crates.io team

Sorry for the very long wait here, but this should be good now?

steveklabnik

comment created time in 21 days

push eventrust-lang/team

Steve Klabnik

commit sha 89207252eb914c6835a500d77debdb0b9176b6ff

add myself to alumni

view details

push time in 21 days

issue commentrust-lang/rust

No way to extract flags arguments from unix::OpenOptionsExt

Triage: it's been a bit over a year. I too would be surprised by this. I wonder what @rust-lang/libs thinks.

cyphar

comment created time in 21 days

issue commentrust-lang/rust

noalias is not enough

Triage: no idea what the current status of this is, to be honest. I imagine that this was never suggested upstream.

gnzlbg

comment created time in 24 days

push eventsteveklabnik/TwitterDelete

dependabot-preview[bot]

commit sha 9eb76b28cd298a2e71c95801b3eb09fab5fe0b4f

Merge pull request #70 from MikeMcQuaid/dependabot/bundler/ffi-1.13.0

view details

dependabot-preview[bot]

commit sha a9c37fa7791233c831b0dca87ebfb6d3fe86134b

Bump ffi from 1.13.0 to 1.13.1 Bumps [ffi](https://github.com/ffi/ffi) from 1.13.0 to 1.13.1. - [Release notes](https://github.com/ffi/ffi/releases) - [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md) - [Commits](https://github.com/ffi/ffi/compare/1.13.0...1.13.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

dependabot-preview[bot]

commit sha 61702c421c12de113dbbb93ea2b057e0408c8681

Merge pull request #71 from MikeMcQuaid/dependabot/bundler/ffi-1.13.1

view details

Mike McQuaid

commit sha f053caaad88cf36d26337d2bfb8a1acc25d5b8d4

Add scheduled workflow This allows automatic deletion of tweets. Also: - update Ruby version in workflows - cleanup README - note how to use workflow in README - add TWITTER_DAYS to make workflow more generic

view details

Mike McQuaid

commit sha 165dd9c955259a4e2e704a466aefcd6ebbc73337

Merge pull request #72 from MikeMcQuaid/scheduled Add scheduled workflow

view details

dependabot-preview[bot]

commit sha 9f1cdd911dc8246909380898d56019bb73495a96

Bump dotenv from 2.7.5 to 2.7.6 Bumps [dotenv](https://github.com/bkeepers/dotenv) from 2.7.5 to 2.7.6. - [Release notes](https://github.com/bkeepers/dotenv/releases) - [Changelog](https://github.com/bkeepers/dotenv/blob/master/Changelog.md) - [Commits](https://github.com/bkeepers/dotenv/compare/v2.7.5...v2.7.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

Mike McQuaid

commit sha e7d9d6ac98b486b6523530fc92f743c763e59fd9

Merge pull request #74 from MikeMcQuaid/dependabot/bundler/dotenv-2.7.6 Bump dotenv from 2.7.5 to 2.7.6

view details

dependabot-preview[bot]

commit sha b6cf295c22b6c2c33cc2e305d604862d7e84bcf3

Bump public_suffix from 4.0.5 to 4.0.6 Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 4.0.5 to 4.0.6. - [Release notes](https://github.com/weppos/publicsuffix-ruby/releases) - [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v4.0.5...v4.0.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

dependabot-preview[bot]

commit sha acfd634e86bdec2fc576171dc7ac8f959629fc4f

Merge pull request #75 from MikeMcQuaid/dependabot/bundler/public_suffix-4.0.6

view details

Steve Klabnik

commit sha 866eebfb86b4f78b41bfe754b06215bdd513ed6a

remove --force in CI so i can see what this would do

view details

Steve Klabnik

commit sha c1abe9f5fdb93dc994875c3a192556cac098cc70

rename task so that I can see CI run

view details

Steve Klabnik

commit sha f9e904cef724a37dd45e8565f9c43e970d259d7f

test running schedule

view details

Steve Klabnik

commit sha c42101c470e21aa055a0a50bf76a41c23adac5dc

run every day this won't actually delete stuff just yet

view details

Steve Klabnik

commit sha d6ad54b089e634bc048b33431453759ca83242e6

actually delete tweets here we go

view details

Steve Klabnik

commit sha beed20ce58af790a017f02034e694bd433806c05

get rid of more tweets

view details

Steve Klabnik

commit sha 03746589edd6535897a14119e4f77ce77308e50a

undo that it didn't actually work

view details

Steve Klabnik

commit sha 087ca5871e6ae7e7c7e6cd19e96e2fff67e102c2

lets try that again

view details

Steve Klabnik

commit sha b4e70a326f53fd50db1141c4f7ff1d73bc89ff7c

be more aggressive with RTs and likes

view details

push time in 24 days

push eventsteveklabnik/TwitterDelete

dependabot-preview[bot]

commit sha c90f7b2a0a9a41a6191e3d4f3c1cf853c321ad27

Bump ffi from 1.13.0 to 1.13.1 Bumps [ffi](https://github.com/ffi/ffi) from 1.13.0 to 1.13.1. - [Release notes](https://github.com/ffi/ffi/releases) - [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md) - [Commits](https://github.com/ffi/ffi/compare/1.13.0...1.13.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

Mike McQuaid

commit sha d05eebd32df00389e0166533c8ab51ab66d20693

Add scheduled workflow This allows automatic deletion of tweets. Also: - update Ruby version in workflows - cleanup README - note how to use workflow in README - add TWITTER_DAYS to make workflow more generic

view details

dependabot-preview[bot]

commit sha b7503dc9d4b284273b1d53b98390818cd6dbe79d

Bump dotenv from 2.7.5 to 2.7.6 Bumps [dotenv](https://github.com/bkeepers/dotenv) from 2.7.5 to 2.7.6. - [Release notes](https://github.com/bkeepers/dotenv/releases) - [Changelog](https://github.com/bkeepers/dotenv/blob/master/Changelog.md) - [Commits](https://github.com/bkeepers/dotenv/compare/v2.7.5...v2.7.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

dependabot-preview[bot]

commit sha 5b432a022b647874ccfd5720bf4d4efa0054e87a

Bump public_suffix from 4.0.5 to 4.0.6 Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 4.0.5 to 4.0.6. - [Release notes](https://github.com/weppos/publicsuffix-ruby/releases) - [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v4.0.5...v4.0.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

Steve Klabnik

commit sha a78c6006d411614199920442db6b6705837e8de5

remove --force in CI so i can see what this would do

view details

Steve Klabnik

commit sha c07b3611d438a14f79f2686df001a13a3abbc40a

rename task so that I can see CI run

view details

Steve Klabnik

commit sha 3350a67d4bed11acce0039a37802b8586c35a0bf

test running schedule

view details

Steve Klabnik

commit sha 1c0f68728415b8f252786d2f979b96b97a85ab0f

run every day this won't actually delete stuff just yet

view details

Steve Klabnik

commit sha 0c971895a988bf8a6c5f4d4f58520ebdca1a6fb7

actually delete tweets here we go

view details

Steve Klabnik

commit sha f773990c4e6165b94f582eef77a9b827b9f353de

get rid of more tweets

view details

Steve Klabnik

commit sha 1ea9f04a3f2cf6129be6c4d9bd0312a4ff901347

undo that it didn't actually work

view details

Steve Klabnik

commit sha 27f4b362676676dd0d7d5e83454001ad72225d21

lets try that again

view details

Steve Klabnik

commit sha 17a1960b5d4d99ad502872cb89305d6ea963e575

be more aggressive with RTs and likes

view details

push time in 24 days

push eventsteveklabnik/TwitterDelete

dependabot-preview[bot]

commit sha 9f1cdd911dc8246909380898d56019bb73495a96

Bump dotenv from 2.7.5 to 2.7.6 Bumps [dotenv](https://github.com/bkeepers/dotenv) from 2.7.5 to 2.7.6. - [Release notes](https://github.com/bkeepers/dotenv/releases) - [Changelog](https://github.com/bkeepers/dotenv/blob/master/Changelog.md) - [Commits](https://github.com/bkeepers/dotenv/compare/v2.7.5...v2.7.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

Mike McQuaid

commit sha e7d9d6ac98b486b6523530fc92f743c763e59fd9

Merge pull request #74 from MikeMcQuaid/dependabot/bundler/dotenv-2.7.6 Bump dotenv from 2.7.5 to 2.7.6

view details

dependabot-preview[bot]

commit sha b6cf295c22b6c2c33cc2e305d604862d7e84bcf3

Bump public_suffix from 4.0.5 to 4.0.6 Bumps [public_suffix](https://github.com/weppos/publicsuffix-ruby) from 4.0.5 to 4.0.6. - [Release notes](https://github.com/weppos/publicsuffix-ruby/releases) - [Changelog](https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/weppos/publicsuffix-ruby/compare/v4.0.5...v4.0.6) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

dependabot-preview[bot]

commit sha acfd634e86bdec2fc576171dc7ac8f959629fc4f

Merge pull request #75 from MikeMcQuaid/dependabot/bundler/public_suffix-4.0.6

view details

Steve Klabnik

commit sha 670628d01cdcbc9cb74b4982376fb51a0970cbc0

Merge pull request #1 from MikeMcQuaid/master pulling in upstream

view details

push time in 24 days

PR opened steveklabnik/TwitterDelete

pulling in upstream
+2 -2

0 comment

1 changed file

pr created time in 24 days

push eventsteveklabnik/TwitterDelete

Sean T Allen

commit sha 072dbf4807fed7d08131d33ceb09d83b670d440d

Scan entire timeline Due to the integer math for determining the number of timeline pages to check, the last page (with the oldest) tweets would normally be missed. For example: 743 tweet. Max 250 per page. 743 / 250 = 2 What we want, though is 3. This commit changes MAX_TWEETS_PER_PAGE to 250.0 from 250. Now, 743 / 250.0 = 2.972 We then call `ceil` on it to round up to the next highest integer, 3.0 and correctly check all pages.

view details

push time in 24 days

push eventsteveklabnik/TwitterDelete

Steve Klabnik

commit sha 7c3f17c688b6df940407bf1ac9f768e797954061

be more aggressive with RTs and likes

view details

push time in 24 days

push eventsteveklabnik/TwitterDelete

Steve Klabnik

commit sha b955aa98adaa0df9f66db9715fcd22d24d71c38e

lets try that again

view details

push time in 24 days

push eventsteveklabnik/TwitterDelete

Steve Klabnik

commit sha 2812890bad204e69f674964e75a206f9afe667f4

undo that it didn't actually work

view details

push time in 24 days

push eventsteveklabnik/TwitterDelete

Steve Klabnik

commit sha 6b7b34c0b2f9fb539d862e87516af0c16d582956

get rid of more tweets

view details

push time in 24 days

push eventsteveklabnik/semver

Corey Farwell

commit sha 38ece8eae56bc20c16f6c59b29ad19c786305c56

Update README to reflect latest published version

view details

Steve Klabnik

commit sha 051c39c50d565c597be65c4496597c7d16a514d9

Merge pull request #215 from frewsxcv/patch-1 Update README to reflect latest published version

view details

push time in 24 days

PullRequestReviewEvent

push eventsteveklabnik/request_store

Akira Matsuda

commit sha 46461a25665cc77f1424cb179cd8a80b0eb81ee3

GitHub is HTTPS by default

view details

Steve Klabnik

commit sha 9326888c1d814cf1d669f9e339d139234ee79e88

Merge pull request #74 from amatsuda/https GitHub is HTTPS by default

view details

push time in 24 days

PR merged steveklabnik/request_store

GitHub is HTTPS by default

This reduces unnecessary redirection from http://... to https://... when someone visits this gem's homepage via https://rubygems.org/gems/request_store or some tools or APIs that use the gem's metadata.

+1 -1

0 comment

1 changed file

amatsuda

pr closed time in 24 days

PullRequestReviewEvent

issue commentrust-lang/rust

CI: We should be able to complete a build in 3 hours even without Docker image cache

Triage: Over two years later, I am not sure if this ticket is still relevant, given the amount of changes we've undergone. Maybe it is, maybe it isn't.

kennytm

comment created time in 25 days

created tagsteveklabnik/semver

tagv0.11.0

Semantic version parsing and comparison.

created time in 25 days

push eventsteveklabnik/semver

Steve Klabnik

commit sha 2748f5cba2ce9c1cab13b0d07fd7a36cf0f3029d

semver 0.11.0 Big thanks to @mikrostew and @hone for making this happen. <3

view details

push time in 25 days

push eventsteveklabnik/semver

Steve Klabnik

commit sha 553571943f44bb091db11baf03e37419f769a6cf

depend on actual semver-parser 0.10.0

view details

push time in 25 days

pull request commentsteveklabnik/semver

semver-parser 0.10.0

(Going to push a commit to un-patch semver-parser after this. Thanks for all the work, @hone <3)

hone

comment created time in 25 days

push eventsteveklabnik/semver

Michael Stewart

commit sha 05b003e08b198356b4fed3ed606684eff1dad0f6

update logic and tests, this simplifies things a bit

view details

Michael Stewart

commit sha 548df2f61136bc8281741c9f9f0251528800cf36

fix formatting, and don't need Option internally

view details

Michael Stewart

commit sha 57f3069b7e0af82a550eb91101a2f021c7ceaece

added hyphen support in pre section for semver-parser

view details

Michael Stewart

commit sha 03e65b7c9688882d9f6dedde9a0a66df5e428e3a

add compatible versionreq parsing and formatting for Node

view details

Michael Stewart

commit sha 3c0a9cd03390a0cf6ba9748ac727f982ed27f432

export Compat from the root

view details

Terence Lee

commit sha 5e87530d55cf92c33df15899354cecb736b621c0

fix tests and formatting to comply with #196

view details

Terence Lee

commit sha e1d9386075c2bbb624feba5f851ae48d63b9c9d9

use semver-parser 0.10.0 (from github for now)

view details

Terence Lee

commit sha d96044a1f51ccc6ae20982387c796d59305b9bd7

cargo fmt

view details

Terence Lee

commit sha d7d9605cdd3b2198083f07acbd869e9202cd8a35

cargo clippy

view details

Terence Lee

commit sha 204f1ce3b6585ef03fdf9674c1312e5d52f96faa

turn on issue 88 test

view details

Terence Lee

commit sha 66a84dd05cc3402f4b7e6a27504b24ed5b01b415

add tests and link issues for NPM compatible version ranges See https://github.com/steveklabnik/semver/issues/58 for more info.

view details

Terence Lee

commit sha e7043d2973a7684fd55727e99ad65e6372a7725a

VersionReq parses as '*' now, so remove this deprecation. See discussion here: https://github.com/steveklabnik/semver/pull/209#discussion_r459465532

view details

Terence Lee

commit sha 9efc6025bd787512a8e25bc98089ca3208c148a8

add VersionReq::parse_compat example

view details

Terence Lee

commit sha dd8ed4b0ce5e277d4e7705c7fe5849962a18c5cf

use semver-parser fork so tests pass for now

view details

Terence Lee

commit sha 439bfe85822c2599d67f9b9baf207510524b84fc

rename `Compat::Node` to `Compat::Npm` Technically these are associated with the tools, not the languages. https://github.com/steveklabnik/semver/pull/209#issuecomment-690855508

view details

Steve Klabnik

commit sha a3a3d264d03856445b21edb6447d07815558cbb1

Merge pull request #209 from hone/new-parser semver-parser 0.10.0

view details

push time in 25 days

more