profile
viewpoint

tmandry/AXSwift 124

Swift wrapper for accessibility clients

tmandry/great-start 2

Great starting point for Rails projects. Includes Mongoid, Devise, RSpec, Spork, Guard, Slim, and Bootstrap.

tmandry/django-fresh 1

Auto-refreshes your browser after updating files in your project in a development environment.

kickasstimus/IOBoard 0

IOBoard is a simple in/out board that shows who is in or out of the office and whether they are available.

tmandry/adage 0

2D game and AI engine built using Qt/C++ (high school side project)

tmandry/agent 0

The configuration application of the Ultimate Hacking Keyboard

tmandry/alloy 0

Toy OS project in Rust

tmandry/askbot-devel 0

ASKBOT is a StackOverflow-like Q&A forum, based on CNPROG.

tmandry/async-book 0

Asynchronous Programming in Rust

startedtmandry/whammy

started time in 23 minutes

push eventrust-lang/rustc-pr-tracking

stats updater

commit sha 5f893efe69b47300ba0ac827e5e7011efb7f12a2

Automatic stats update

view details

push time in 41 minutes

PR opened salsa-rs/salsa

Resolve ambiguity of associated type `Group` in bounds of `Q`

The purpose of this pull request is to resolve the issue #252.
I wrote type annotation of associated type Q::Group more clearly to compile.
This is my first time to open a pull request in any OSS repository, so if there are any problems, please point them out.

+4 -6

0 comment

1 changed file

pr created time in 6 hours

delete branch rust-lang/rust-forge

delete branch : dependabot/cargo/blacksmith/serde_json-1.0.60

delete time in 20 hours

push eventrust-lang/rust-forge

dependabot-preview[bot]

commit sha d6997e15d5d9f1d61cb315e88320bf7ba78ef4db

Bump serde_json from 1.0.59 to 1.0.60 in /blacksmith Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.59 to 1.0.60. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.59...v1.0.60) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

dependabot-preview[bot]

commit sha ca5f8dacaa57b324400b9c674df352f663820358

Merge pull request #480 from rust-lang/dependabot/cargo/blacksmith/serde_json-1.0.60

view details

push time in 20 hours

PR merged rust-lang/rust-forge

Bump serde_json from 1.0.59 to 1.0.60 in /blacksmith dependencies

Bumps serde_json from 1.0.59 to 1.0.60. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.60</h2> <ul> <li>Add <code>impl FromIterator<(impl Into<String>, impl Into<Value>)> for Value</code>, which collects a Value::Object (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/733">#733</a>, thanks <a href="https://github.com/matklad">@matklad</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/json/commit/6a4cd8d21879274f07baa3d35f6e5b2d43057986"><code>6a4cd8d</code></a> Release 1.0.60</li> <li><a href="https://github.com/serde-rs/json/commit/b9598ce50f3376eb48865711168757065bcd9a39"><code>b9598ce</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/733">#733</a> from matklad/from-iter-of-pairs</li> <li><a href="https://github.com/serde-rs/json/commit/0c4b4dfc8ae8e6d32d3721567b6f26cc2e49cd5f"><code>0c4b4df</code></a> Allow collecting an iterator of pairs into JSON object</li> <li><a href="https://github.com/serde-rs/json/commit/efc910404a6c8863188e733a0809b594b52d11b4"><code>efc9104</code></a> Suppress clippy unnecessary_wraps lints</li> <li><a href="https://github.com/serde-rs/json/commit/bda64205e3abd2788d0e4006ceb94c7236da7c56"><code>bda6420</code></a> Resolve clippy comparison_to_empty lint</li> <li><a href="https://github.com/serde-rs/json/commit/ec7eeb6933670655b28862fe1571e17801cad788"><code>ec7eeb6</code></a> Suppress new manual_range_contains lint</li> <li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.59...v1.0.60">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

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.

If all status checks pass Dependabot will automatically merge this pull request.


<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)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

</details>

+3 -3

0 comment

2 changed files

dependabot-preview[bot]

pr closed time in 20 hours

PR opened rust-lang/rust-forge

Bump serde_json from 1.0.59 to 1.0.60 in /blacksmith

Bumps serde_json from 1.0.59 to 1.0.60. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.60</h2> <ul> <li>Add <code>impl FromIterator<(impl Into<String>, impl Into<Value>)> for Value</code>, which collects a Value::Object (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/733">#733</a>, thanks <a href="https://github.com/matklad">@matklad</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/json/commit/6a4cd8d21879274f07baa3d35f6e5b2d43057986"><code>6a4cd8d</code></a> Release 1.0.60</li> <li><a href="https://github.com/serde-rs/json/commit/b9598ce50f3376eb48865711168757065bcd9a39"><code>b9598ce</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/733">#733</a> from matklad/from-iter-of-pairs</li> <li><a href="https://github.com/serde-rs/json/commit/0c4b4dfc8ae8e6d32d3721567b6f26cc2e49cd5f"><code>0c4b4df</code></a> Allow collecting an iterator of pairs into JSON object</li> <li><a href="https://github.com/serde-rs/json/commit/efc910404a6c8863188e733a0809b594b52d11b4"><code>efc9104</code></a> Suppress clippy unnecessary_wraps lints</li> <li><a href="https://github.com/serde-rs/json/commit/bda64205e3abd2788d0e4006ceb94c7236da7c56"><code>bda6420</code></a> Resolve clippy comparison_to_empty lint</li> <li><a href="https://github.com/serde-rs/json/commit/ec7eeb6933670655b28862fe1571e17801cad788"><code>ec7eeb6</code></a> Suppress new manual_range_contains lint</li> <li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.59...v1.0.60">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

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.

If all status checks pass Dependabot will automatically merge this pull request.


<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)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

</details>

+3 -3

0 comment

2 changed files

pr created time in 20 hours

push eventrust-lang/rustc-pr-tracking

stats updater

commit sha bfd1d34d04a967de6a931f75aaa237fa4722d49e

Automatic stats update

view details

push time in a day

issue openedsalsa-rs/salsa

Build on Rust nightly fails: error[E0221]: ambiguous associated type `Group` in bounds of `Q`

This happens only with a recent nightly (tested with rustup on NixOS 20.09):

at@ra:/home/at/code/rust/salsa:master# rustup default nightly
info: using existing install for 'nightly-x86_64-unknown-linux-gnu'
info: default toolchain set to 'nightly-x86_64-unknown-linux-gnu'

  nightly-x86_64-unknown-linux-gnu unchanged - rustc 1.50.0-nightly (6645da366 2020-12-01)

at@ra:/home/at/code/rust/salsa:master# cargo test
   Compiling libc v0.2.80
   Compiling cfg-if v0.1.10
   Compiling autocfg v1.0.1
   Compiling proc-macro2 v1.0.24
   Compiling getrandom v0.1.15
   Compiling unicode-xid v0.2.1
   Compiling cfg-if v1.0.0
   Compiling memchr v2.3.4
   Compiling syn v1.0.53
   Compiling log v0.4.11
   Compiling smallvec v1.5.0
   Compiling scopeguard v1.1.0
   Compiling ppv-lite86 v0.2.10
   Compiling lazy_static v1.4.0
   Compiling unicode-segmentation v1.7.1
   Compiling regex-syntax v0.6.21
   Compiling quick-error v1.2.3
   Compiling hashbrown v0.9.1
   Compiling rustc-hash v1.1.0
   Compiling termcolor v1.1.2
   Compiling oorandom v11.1.3
   Compiling diff v0.1.12
   Compiling linked-hash-map v0.5.3
   Compiling instant v0.1.9
   Compiling lock_api v0.4.2
   Compiling thread_local v1.0.1
   Compiling humantime v1.3.0
   Compiling crossbeam-utils v0.8.1
   Compiling indexmap v1.6.0
   Compiling heck v0.3.1
   Compiling aho-corasick v0.7.15
   Compiling quote v1.0.7
   Compiling parking_lot_core v0.8.0
   Compiling atty v0.2.14
   Compiling rand_core v0.5.1
   Compiling parking_lot v0.11.1
   Compiling rand_chacha v0.2.2
   Compiling rand v0.7.3
   Compiling regex v1.4.2
   Compiling rand_distr v0.2.2
   Compiling env_logger v0.7.1
   Compiling salsa-macros v0.16.0 (/home/at/code/rust/salsa/components/salsa-macros)
   Compiling salsa v0.16.0 (/home/at/code/rust/salsa)
error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:466:57
    |
466 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
466 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
466 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:478:57
    |
478 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
478 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
478 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:490:57
    |
490 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
490 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
490 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:512:57
    |
512 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
512 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
512 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:466:57
    |
466 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
466 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
466 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:478:57
    |
478 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
478 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
478 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:490:57
    |
490 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
490 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
490 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0221]: ambiguous associated type `Group` in bounds of `Q`
   --> src/interned.rs:512:57
    |
512 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<Q::Group>>::group_storage(db);
    |                                                         ^^^^^^^^ ambiguous associated type `Group`
    |
   ::: src/lib.rs:431:5
    |
431 |     type Group: plumbing::QueryGroup<GroupStorage = Self::GroupStorage>;
    |     --------------------------------------------------------------------
    |     |
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |     ambiguous `Group` from `for<'d> QueryDb<'d>`
    |
help: use fully qualified syntax to disambiguate
    |
512 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use fully qualified syntax to disambiguate
    |
512 |             <<Q as QueryDb<'_>>::DynDb as HasQueryGroup<<Q as for<'d> QueryDb<'d>>::Group>>::group_storage(db);
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0221`.
error: could not compile `salsa`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0221`.
error: build failed

created time in a day

push eventrust-lang/compiler-team

Deploy from CI

commit sha f66a284846b00730325bf928c85cfc82464f57a5

Deploy 43981a0ff812f298b3506b5ee2ea3747ebda4fb2 to gh-pages

view details

push time in a day

push eventrust-lang/compiler-team

Santiago Pastorino

commit sha 43981a0ff812f298b3506b5ee2ea3747ebda4fb2

Adjust magic_number back given that we skipped our previous meeting

view details

push time in a day

issue commentrust-lang/lang-team

Stop ignoring trailing semicolons in a macro body when a macro is invoked in expression position

@pnkfelix: Did you mean to second this with rustbot as well?

Aaron1011

comment created time in a day

pull request commentrust-lang/rust-forge

Update release process for Cargo.

OK, I pushed an update that is a little more explicit.

I wrote it so that you can run the commands in the rust-lang/rust repository. This should help avoid needing to figure out exactly which SHA to tag, and allow doing all the steps in one place (presumably the steps listed above for T-10m are also done in the same repository, and likely the instructions should be combined, but I wanted to post this to get the conversation started). It has an explicit SSH remote, since I assume that's what you use. I also used the "rust-lang" remote name, since that is what is used in other parts of the instructions, but other parts use "origin", so it's a little inconsistent.

There are some parts of these instructions that are a little unclear (like it references $COMMIT_SHA which isn't defined), so it's hard to know exactly what to write.

Ideally this would all be in a script somewhere, but I'm uncertain how to help move that forward.

ehuss

comment created time in a day

pull request commentrust-lang/rust-forge

Update release process for Cargo.

Note that we can't tag from the web UI since we sign tags with Rust's GPG key.

ehuss

comment created time in 2 days

push eventrust-lang/rustc-pr-tracking

stats updater

commit sha 4ef9cdf643267dd233a9642b6fd0941947bcd5d7

Automatic stats update

view details

push time in 2 days

push eventrust-lang/lang-team

Deploy from CI

commit sha e67b034050e372e0b18c253f31d952563e4a1593

Deploy d15ce76745ece6fbf360274a2fc20f95ecb66eaa to gh-pages

view details

push time in 2 days

issue closedrust-lang/compiler-team

Accept RFC 2951 "Linking modifiers for native libraries"

Proposal

Accept RFC 2951 "Linking modifiers for native libraries" that provides some generic syntax (similar to target features) for linking modifiers used for native libraries, and introduces some specific modifiers to control bundling behavior, whole-archive linking and library name mangling.

Mentors or Reviewers

@petrochenkov

Process

The main points of the Major Change Process is as follows:

  • [x] File an issue describing the proposal.
  • [ ] A compiler team member or contributor who is knowledgeable in the area can second by writing @rustbot second.
    • Finding a "second" suffices for internal changes. If however you are proposing a new public-facing feature, such as a -C flag, then full team check-off is required.
    • Compiler team members can initiate a check-off via @rfcbot fcp merge on either the MCP or the PR.
  • [ ] Once an MCP is seconded, the Final Comment Period begins. If no objections are raised after 10 days, the MCP is considered approved.

You can read more about Major Change Proposals on forge.

Comments

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

closed time in 2 days

petrochenkov

push eventrust-lang/lang-team

Niko Matsakis

commit sha 40dc078afb15baf4e49fb8a633b9f06210e9b92d

add minutes from 2020-11-10

view details

Niko Matsakis

commit sha a5f2550efd6145d128bba113ae547a70ad68de1e

add 2020-11-17 minutes

view details

Niko Matsakis

commit sha 12752c91fbaa8e67b97ef31d254a76bcf5c9cb3b

add 2020-12-01 minutes

view details

Niko Matsakis

commit sha d15ce76745ece6fbf360274a2fc20f95ecb66eaa

minutes from 2020-12-01

view details

push time in 2 days

pull request commentrust-lang/rust-forge

Update release process for Cargo.

I usually use a non-submodule checkout of Cargo and make sure to checkout/reset to the same commit as in the submodule.

I think the exact steps as they are done today are not too relevant FWIW, I and I expect @pietroalbini are both happy to do whatever works -- the most important thing for me personally is to get a series of steps I can reliably execute without needing to think too much. Ideally that's not web UI, I think, because that's annoying to get right without thinking. https auth is not too big a problem but is not ideal. I don't see any problems with a custom remote config via SSH though.

ehuss

comment created time in 2 days

issue openedrust-lang/lang-team

Discuss the amount of oversight that lang should have for lints

Summary

This might not need a whole meeting, but I don't know the best place to put stuff...

There seems like a bunch of different kinds of lints, and I don't know that lang should care about some of them. For example, I think it would be fine for libs to approve a lint like "don't call .step_by(0) because that always panics".

We probably do care about lints that would warn on valid uses of language features (as they're sortof a deprecation).

But maybe we can write some more nuanced guidance here about which teams need to approve which things, and avoid multiple MCPs when they're not providing value.

Please describe your meeting topic here. It doesn't have to be very long, but it's always good to try and identify a concrete question to be answered or narrow topic for discussion. Nobody likes a rambly meeting.

Background reading

This came up on https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Uplift.20the.20.60invalid_atomic_ordering.60.20lint.20from.20clippy/near/218463202

Include any links to material that folks ought to try to read before-hand.

About this issue

This issue corresponds to a lang-team design meeting proposal. It corresponds to a possible topic of discussion that may be scheduled for deeper discussion during one of our design meetings.

created time in 2 days

issue commentrust-lang/lang-team

Stop ignoring trailing semicolons in a macro body when a macro is invoked in expression position

(to be clear, the lang team was also generally in support of the change described here. I think we are generally inclined to tie any hard error here to an edition boundary, as suggested above.)

Aaron1011

comment created time in 2 days

issue commentrust-lang/lang-team

Stop ignoring trailing semicolons in a macro body when a macro is invoked in expression position

I second this proposal. I'm willing to serve as liason with the lang-team. The work here sounds isolated enough that someone can start directly on a pull request.

Aaron1011

comment created time in 2 days

PR opened rust-lang/rust-forge

Add documentaiton on transferring domains

r? @Mark-Simulacrum

+66 -0

0 comment

1 changed file

pr created time in 2 days

issue openedrust-lang/compiler-team

Uplift the `invalid_atomic_ordering` lint from clippy to rustc

Proposal

Move the invalid_atomic_ordering lint from clippy into the compiler. The lint would be deny by default, and fire when using an invalid ordering for the given atomic operation.

For example, an incomplete set of the functionality it covers is shown below:

// Bad: `Release` cannot be used for `load`.
some_atomic.load(Release);
// Bad: `Acquire` cannot be used for `store`.
some_atomic.store(_, Acquire);
// Bad: `Relaxed` cannot be used as a fence's ordering.
core::sync::atomic::fence(Relaxed);
// Bad: `Release` cannot be used as the failure ordering
some_atomic.compare_exchange(_, _, SeqCst, Release);
// Bad: The failure ordering cannot be stronger than the success ordering
some_atomic.compare_exchange(_, _, Relaxed, SeqCst);

Using the wrong atomic ordering causes a panic at runtime, and for a long time people have mentioned that it's unfortunate that using legal orderings is not enforced in the type system.

Regardless of whether or not that eventually happens (I think it sounds hard, especially for cases like compare_exchange), the current APIs will not go away, and so this lint that prevents misuse would be valuable.

The lint has no false positives, and so long as the orderings are specified directly in the call covers the whole set of stable[0] functions which take ordering arguments that I'm aware of.

[0]: (It doesn't cover the unstable cmpxchg16b intrinsic in core::arch::{x86, x86_64} but this could easily be supported in the future via the same code path that handles the compare_exchange and compare_exchange_weak functions).

Mentors or Reviewers

I have no idea. I'm just planning on winging it based on other similar lint uplifts, and hoping the review robot picks someone acceptable 😅. (Open to suggestions as that seems non-ideal)

Process

The main points of the Major Change Process is as follows:

  • [x] File an issue describing the proposal.
  • [ ] A compiler team member or contributor who is knowledgeable in the area can second by writing @rustbot second.
    • Finding a "second" suffices for internal changes. If however you are proposing a new public-facing feature, such as a -C flag, then full team check-off is required.
    • Compiler team members can initiate a check-off via @rfcbot fcp merge on either the MCP or the PR.
  • [ ] Once an MCP is seconded, the Final Comment Period begins. If no objections are raised after 10 days, the MCP is considered approved.

You can read more about Major Change Proposals on forge.

Comments

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

created time in 3 days

push eventrust-lang/rustc-pr-tracking

stats updater

commit sha 9f73f1e6d2ed7a3fe41fcb85e4f2aae319e9d527

Automatic stats update

view details

push time in 3 days

pull request commentrust-lang/rust-forge

Update release process for Cargo.

I'm happy to help clarify the process, but since I've never done a release I can only guess what the exact steps actually are. I would assume it is awkward to tag Cargo directly from within a checkout of rust-lang/rust because the submodules aren't configured with the remotes in the same way (they usually are configured as origin set to https://github.com/rust-lang/cargo.git, which wouldn't work if you use SSH auth). Can you clarify how you do it? I can think of different options:

  • Tag from the submodule, you use https authentication to GitHub.
  • Tag from the submodule, you manually configure a separate remote in the submodule.
  • Tag from a separate checkout of rust-lang/cargo.
  • Tag from within GitHub web UI.

Or maybe you do something else?

ehuss

comment created time in 3 days

pull request commentrust-lang/rust-forge

Update release process for Cargo.

I think it would be good to add explicit tagging instructions -- I always get mixed up on whether to 1.x tag or 0.x tag for example.

Ideally our instructions should be fully explicit -- maybe even going to git fetch origin && git checkout origin/stable or so level -- my hope is to put the execution of these steps into a Python or shell script soon-ish so that we can actually automate the release fully (either to bots or at least invoking the script rather than typing commands).

ehuss

comment created time in 3 days

PR opened rust-lang/rust-forge

Update release process for Cargo.

publish.py was added a while back to (hopefully) help make it easier and more reliable to publish new releases of Cargo.

I'm not sure if these instructions are detailed enough. Should the explicit tagging steps be specified? Should it make it clear that this should be run on the stable branch, and importantly run git submodule update to ensure the correct submodules are checked out? (I believe some mistakes in the past were made because the wrong checkout was published.)

Let me know if more detail should be added. I'm not too familiar with the exact steps you take for this.

+3 -5

0 comment

1 changed file

pr created time in 3 days

more