profile
viewpoint

CYBAI/compare-yaml-keys 2

Compare difference between yaml files and export them as csv file

CYBAI/advent-of-code-2018-rs 1

Advent of Code 2018 in Rust

CYBAI/advent-of-code-2019-rs 1

Advent of Code 2019 in Rust

CYBAI/chrome-duckduckgo-contextmenu 1

You can search DuckDuckGo for what you select from contextmenu.

CYBAI/convert-to-utf8 1

ConvertToUTF8 package for editing and saving files encoded in Big5, GBK, Shift_JIS, etc.

CYBAI/advent-of-code-2017-rs 0

Advent of Code 2017 written in Rust

CYBAI/babel 0

🐠 Babel is a compiler for writing next generation JavaScript.

CYBAI/blog.rust-lang.org 0

The Rust Programming Language Blog

CYBAI/book 0

The Rust Programming Language

push eventweb-platform-tests/wpt

Frédéric Wang

commit sha a1bdc5baa9295e462601d2e8631471ef4075b7c1

Update style for merror and add a basic test for the default rendering. (#23794) * Update style for merror and add a basic test for the default rendering. https://github.com/mathml-refresh/mathml/issues/70 * fix bad markup

view details

push time in a few seconds

delete branch web-platform-tests/wpt

delete branch : merror-style

delete time in a few seconds

PR opened denoland/deno

upgrade: dprint to 0.19.0

Closes https://github.com/denoland/deno/issues/5848

+7 -7

0 comment

2 changed files

pr created time in 3 minutes

push eventservo/servo

dependabot-preview[bot]

commit sha abffa4e35f8952a3bfaa18b0f053ff09bbb8291e

Bump syn from 1.0.26 to 1.0.27 Bumps [syn](https://github.com/dtolnay/syn) from 1.0.26 to 1.0.27. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/1.0.26...1.0.27) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

bors-servo

commit sha d96550bd95af396899b93d45c6f3644c77f58433

Auto merge of #26669 - servo:dependabot/cargo/syn-1.0.27, r=jdm Bump syn from 1.0.26 to 1.0.27 Bumps [syn](https://github.com/dtolnay/syn) from 1.0.26 to 1.0.27. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.27</h2> <ul> <li>Parse function calls in which the callee is an interpolated macro variable <code>$fn(...)</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/833">#833</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/syn/commit/fb242347db3fd66f2be256e50939f74c7f66d5fd"><code>fb24234</code></a> Release 1.0.27</li> <li><a href="https://github.com/dtolnay/syn/commit/e1139e37a4d8af3db509481bc596e113bea20fb8"><code>e1139e3</code></a> Wrap long token streams in tests</li> <li><a href="https://github.com/dtolnay/syn/commit/680ebee419908dda5a086d0bea0ab8e8ebccea50"><code>680ebee</code></a> Make TokenStream explicit in snapshot tests</li> <li><a href="https://github.com/dtolnay/syn/commit/8496c33eecdadf97599968fcb32fd46a1bacc267"><code>8496c33</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/834">#834</a> from dtolnay/group</li> <li><a href="https://github.com/dtolnay/syn/commit/b247d62fafe073c765e68bdf0d00d5dec464ae79"><code>b247d62</code></a> Remove fixed fixme</li> <li><a href="https://github.com/dtolnay/syn/commit/aa6052b0add6105770e9ad757355dd7567585e1f"><code>aa6052b</code></a> Update Group attrs snapshot</li> <li><a href="https://github.com/dtolnay/syn/commit/be29b2585becb06051ee2441acd4a7d3870ce662"><code>be29b25</code></a> Respect precedence around Group when parsing attrs</li> <li><a href="https://github.com/dtolnay/syn/commit/81394dd5ad4d99aab4f5eb76fc4caa146ec640cf"><code>81394dd</code></a> Add test for attributes surrounding group expr</li> <li><a href="https://github.com/dtolnay/syn/commit/c144538e0541f49f4378662cc56ece161126dec3"><code>c144538</code></a> Add snapshot test for group with trailer expr</li> <li><a href="https://github.com/dtolnay/syn/commit/7caca26653d1232c21b919c2bf001c6c26a63ce1"><code>7caca26</code></a> Parse trailer exprs where the lhs is a Group</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/1.0.26...1.0.27">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=1.0.26&new-version=1.0.27)](https://dependabot.com/compatibility-score/?dependency-name=syn&package-manager=cargo&previous-version=1.0.26&new-version=1.0.27) 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`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <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](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) </details>

view details

push time in 4 minutes

PR merged servo/servo

Bump syn from 1.0.26 to 1.0.27 S-awaiting-merge dependencies

Bumps syn from 1.0.26 to 1.0.27. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>1.0.27</h2> <ul> <li>Parse function calls in which the callee is an interpolated macro variable <code>$fn(...)</code> (<a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/833">#833</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/syn/commit/fb242347db3fd66f2be256e50939f74c7f66d5fd"><code>fb24234</code></a> Release 1.0.27</li> <li><a href="https://github.com/dtolnay/syn/commit/e1139e37a4d8af3db509481bc596e113bea20fb8"><code>e1139e3</code></a> Wrap long token streams in tests</li> <li><a href="https://github.com/dtolnay/syn/commit/680ebee419908dda5a086d0bea0ab8e8ebccea50"><code>680ebee</code></a> Make TokenStream explicit in snapshot tests</li> <li><a href="https://github.com/dtolnay/syn/commit/8496c33eecdadf97599968fcb32fd46a1bacc267"><code>8496c33</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/syn/issues/834">#834</a> from dtolnay/group</li> <li><a href="https://github.com/dtolnay/syn/commit/b247d62fafe073c765e68bdf0d00d5dec464ae79"><code>b247d62</code></a> Remove fixed fixme</li> <li><a href="https://github.com/dtolnay/syn/commit/aa6052b0add6105770e9ad757355dd7567585e1f"><code>aa6052b</code></a> Update Group attrs snapshot</li> <li><a href="https://github.com/dtolnay/syn/commit/be29b2585becb06051ee2441acd4a7d3870ce662"><code>be29b25</code></a> Respect precedence around Group when parsing attrs</li> <li><a href="https://github.com/dtolnay/syn/commit/81394dd5ad4d99aab4f5eb76fc4caa146ec640cf"><code>81394dd</code></a> Add test for attributes surrounding group expr</li> <li><a href="https://github.com/dtolnay/syn/commit/c144538e0541f49f4378662cc56ece161126dec3"><code>c144538</code></a> Add snapshot test for group with trailer expr</li> <li><a href="https://github.com/dtolnay/syn/commit/7caca26653d1232c21b919c2bf001c6c26a63ce1"><code>7caca26</code></a> Parse trailer exprs where the lhs is a Group</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/1.0.26...1.0.27">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.


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

You can trigger Dependabot actions by commenting on this PR:

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

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

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

</details>

+2 -2

4 comments

1 changed file

dependabot-preview[bot]

pr closed time in 4 minutes

delete branch servo/servo

delete branch : dependabot/cargo/syn-1.0.27

delete time in 4 minutes

pull request commentservo/servo

Bump derive_more from 0.99.2 to 0.99.7

:hourglass: Testing commit 03c60de8cd44048c0fc89d10067e20aab7797639 with merge 1b458c0830b8f57c53e1482a7f25fea9633ef026...

dependabot-preview[bot]

comment created time in 4 minutes

push eventservo/servo

dependabot-preview[bot]

commit sha 03c60de8cd44048c0fc89d10067e20aab7797639

Bump derive_more from 0.99.2 to 0.99.7 Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.2 to 0.99.7. - [Release notes](https://github.com/JelteF/derive_more/releases) - [Changelog](https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md) - [Commits](https://github.com/JelteF/derive_more/compare/v0.99.2...v0.99.7) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

bors-servo

commit sha 1b458c0830b8f57c53e1482a7f25fea9633ef026

Auto merge of #26670 - servo:dependabot/cargo/derive_more-0.99.7, r=jdm Bump derive_more from 0.99.2 to 0.99.7 Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.2 to 0.99.7. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md">derive_more's changelog</a>.</em></p> <blockquote> <h2>0.99.7 - 2020-05-16</h2> <h3>Fixes</h3> <ul> <li>Fix generic derives for <code>MulAssign</code></li> </ul> <h3>Improvements</h3> <ul> <li>When specifying specific features of the crate to only enable specific derives, the <code>extra-traits</code> feature of <code>syn</code> is not always enabled when those the specified features do not require it. This should speed up compile time of <code>syn</code> when this feature is not needed.</li> </ul> <h2>0.99.6 - 2020-05-13</h2> <h3>Improvements</h3> <ul> <li>Make sure output of derives is deterministic, for better support in rust-analyzer</li> </ul> <h2>0.99.5 - 2020-03-28</h2> <h3>New features</h3> <ul> <li>Support for deriving <code>Error</code>!!! (many thanks to <a href="https://github.com/ffuugoo">@ffuugoo</a> and <a href="https://github.com/tyranron">@tyranron</a>)</li> </ul> <h3>Fixes</h3> <ul> <li> <p>Fix generic bounds for <code>Deref</code> and <code>DerefMut</code> with <code>forward</code>, i.e. put <code>Deref</code> bound on whole type, so on <code>where Box&lt;T&gt;: Deref</code> instead of on <code>T: Deref</code>. (<a href="https://github-redirect.dependabot.com/JelteF/derive_more/issues/114">#107</a>)</p> </li> <li> <p>The <code>tests</code> directory is now correctly included in the crate (requested by Debian package maintainers)</p> </li> </ul> <h2>0.99.4 - 2020-03-28</h2> <p>Note: This version is yanked, because quickly after release it was found out tests did not run in CI.</p> <h2>0.99.3 - 2020-02-19</h2> <h3>Fixes</h3> <ul> <li>Fix generic bounds for <code>Deref</code> and <code>DerefMut</code> with no <code>forward</code>, i.e. no bounds are necessary. (<a href="https://github-redirect.dependabot.com/JelteF/derive_more/issues/114">#107</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/JelteF/derive_more/commit/8d9a56efd95dcabeee84ca76cd4ff42d545c6005"><code>8d9a56e</code></a> (cargo-release) version 0.99.7</li> <li><a href="https://github.com/JelteF/derive_more/commit/3b785593d9cf12778deb8da5d4bf2c3359fa27c0"><code>3b78559</code></a> Update CHANGELOG for 0.99.7 release</li> <li><a href="https://github.com/JelteF/derive_more/commit/e4b29f32f6adf9f850c88ec9a85acdadecce3c12"><code>e4b29f3</code></a> Add generics tests for MulAssign</li> <li><a href="https://github.com/JelteF/derive_more/commit/52c1bd78944f29207aa02ad702335ddc54d8520b"><code>52c1bd7</code></a> fix derivation of MulAssign for generic structs (<a href="https://github-redirect.dependabot.com/JelteF/derive_more/issues/126">#126</a>)</li> <li><a href="https://github.com/JelteF/derive_more/commit/a51ce925ef6d00b2fe57f61e0766f82ea6044c99"><code>a51ce92</code></a> Update CHANGELOG</li> <li><a href="https://github.com/JelteF/derive_more/commit/8f10b1ff2e51b4159573f14711aa3be15a858d5c"><code>8f10b1f</code></a> Only require syn extra-traits derives that need it</li> <li><a href="https://github.com/JelteF/derive_more/commit/e6cc12fda4788ade330e56fbb9843ccddce00114"><code>e6cc12f</code></a> (cargo-release) start next development iteration 0.99.7-alpha.0</li> <li><a href="https://github.com/JelteF/derive_more/commit/f0abb1f5764aec7179ad6817d28d880284f33aa2"><code>f0abb1f</code></a> (cargo-release) version 0.99.6</li> <li><a href="https://github.com/JelteF/derive_more/commit/3deaddc0bc8392e82174f5717552cd93a8384fff"><code>3deaddc</code></a> Use deterministic hash collections (<a href="https://github-redirect.dependabot.com/JelteF/derive_more/issues/125">#125</a>)</li> <li><a href="https://github.com/JelteF/derive_more/commit/45feff367c62cd1e1ee4c304993260abffd3d4ef"><code>45feff3</code></a> Update CHANGELOG for 0.99.5 release</li> <li>Additional commits viewable in <a href="https://github.com/JelteF/derive_more/compare/v0.99.2...v0.99.7">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=derive_more&package-manager=cargo&previous-version=0.99.2&new-version=0.99.7)](https://dependabot.com/compatibility-score/?dependency-name=derive_more&package-manager=cargo&previous-version=0.99.2&new-version=0.99.7) 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`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <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](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) </details>

view details

push time in 4 minutes

push eventservo/servo

push time in 4 minutes

pull request commentservo/servo

Bump syn from 1.0.26 to 1.0.27

:sunny: Test successful - status-taskcluster Approved by: jdm Pushing d96550bd95af396899b93d45c6f3644c77f58433 to master...

dependabot-preview[bot]

comment created time in 4 minutes

issue commentw3ctag/design-reviews

Periodic Background Sync

This is exactly what I submitted :)

mugdhalakhani

comment created time in 5 minutes

pull request commentservo/servo

Implement readablestream support

So the current git for mozjs on master is to this commit: https://github.com/servo/rust-mozjs/blob/dbb9bee06e0b0168ccae0619c5077e302669d2fb/src/glue.rs

and it doesn't include the changes I made, because it's not the merge commit it's the actual change, so maybe that caused it, however I have since included a commit to points to the latest merge commit on mozjs, and that one includes all changes.

I'll try rebasing again...

gterzian

comment created time in 6 minutes

created tagweb-platform-tests/wpt

tagmerge_pr_23162

Test suites for Web platform specs — including WHATWG, W3C, and others

created time in 7 minutes

issue commentw3ctag/design-reviews

Periodic Background Sync

It is shipping in M80 according to https://chromestatus.com/features/5689383275462656

image

mugdhalakhani

comment created time in 7 minutes

push eventweb-platform-tests/wpt

hiroshige-g

commit sha eccee3ede4f1debb1ad5bd34e6122bcb2cadce48

Test whether parse document check is done in #prepare-a-script (#23162) This PR adds empty-src tests, which moves <script src=""> elements between Documents before #prepare-a-script. If the parser document check is done in #prepare-a-script, the <script>'s error event is not fired, and thus we can more-completely test whether the parser document check is done. This PR also does some minor refactoring / documentation clean-up, as well as adds a TODO to remove some of the tests once https://github.com/whatwg/html/issues/2137 is closed and https://github.com/whatwg/html/pull/5575 lands. Co-authored-by: Dominic Farolino <domfarolino@gmail.com>

view details

push time in 8 minutes

PR merged web-platform-tests/wpt

Reviewers
Test whether parse document check is done in #prepare-a-script html

This PR adds empty-src tests, which moves <script src=""> elements between Documents before #prepare-a-script. If the parse document check is done in #prepara-a-script, <script>'s error event is not fired, and thus we can test whether the parse document check is done.

+114 -75

3 comments

55 changed files

hiroshige-g

pr closed time in 8 minutes

Pull request review commentrust-lang/rfcs

RFC: Placement by return

+- Feature Name: placement-by-return+- Start Date: 2020-01-23+- RFC PR: [rust-lang/rfcs#0000](https://github.com/rust-lang/rfcs/pull/0000)+- Rust Issue: [rust-lang/rust#0000](https://github.com/rust-lang/rust/issues/0000)++# Summary+[summary]: #summary++Implement ["placement"](https://internals.rust-lang.org/t/removal-of-all-unstable-placement-features/7223) with no new syntax, by extending the existing capabilities of ordinary `return`. This involves [copying Guaranteed Copy Elision rules pretty much wholesale from C++17](https://jonasdevlieghere.com/guaranteed-copy-elision/), adding functions like `fn new_with<F: FnOnce() -> T, T: ?Sized>(f: F) -> Self` to Box and `fn push_with<F: FnOnce() -> T>(&mut self, f: F)` to Vec to allow performing the allocation before evaluating F, providing raw access to the return slot for functions as an unsafe feature, and allowing functions to directly return **Dynamically-Sized Types** (DSTs) by compiling such functions into a special kind of "generator".++Starting with the questions given at the end of the [old RFC's mortician's note](https://github.com/rust-lang/rust/issues/27779):++ * **Does the new RFC support DSTs? serde and fallible creation?** Yes on DSTs. On fallible creation, it punts it into the future section.+ * **Does the new RFC have a lot of traits? Is it justified?** It introduces no new traits at all.+ * **Can the new RFC handle cases where allocation fails? Does this align with wider language plans (if any) for fallible allocation?** Yes.+ * **are there upcoming/potential language features that could affect the design of the new RFC? e.g. custom allocators, NoMove, HKTs? What would the implications be?** Not really. `Pin` can have a `new_with` function just like anyone else, custom allocators would happen entirely behind this, true HKT's are probably never going to be added, and associated type constructors aren't going to affect this proposal since the proposal defines no new traits or types that would use them.++## Glossary++- **GCE:** [Guaranteed Copy Elision](https://stackoverflow.com/questions/38043319/how-does-guaranteed-copy-elision-work).+- **NRVO:** [Named Return Value Optimization](https://shaharmike.com/cpp/rvo/).+- **DST:** [Dynamically-Sized Type](https://doc.rust-lang.org/reference/dynamically-sized-types.html).+- **HKT:** [Higher-Kinded Type](https://stackoverflow.com/a/6417328/3511753).++# Motivation+[motivation]: #motivation++Rust has a dysfunctional relationship with objects that are large or variable in size. It can accept them as parameters pretty well using references, but creating them is unwieldy and inneficient:++* A function pretty much has to use `Vec` to create huge arrays, even if the array is fixed size. The way you'd want to do it, `Box::new([0; 1_000_000])`, will allocate the array on the stack and then copy it into the Box. This same form of copying shows up in tons of API's, like serde's Serialize trait.+* There's no safe way to create gigantic, singular structs without overhead. If your 1M array is wrapped in a struct, then the only safe way to dynamically allocate one is to use `Box::new(MyStruct::new())`, which ends up creating an instance of `MyStruct` on the stack and copying it to the box, 1M array included.+* You can't return bare unsized types. [RFC-1909](https://github.com/rust-lang/rfcs/blob/master/text/1909-unsized-rvalues.md) allows you to create them locally, and pass them as arguments, but not return them.++As far as existing emplacement proposals go, this one was written with the following requirements in mind:++* **It needs to be possible to wrap it in a safe API.** Safe API examples are given for built-in data structures, including a full sketch of the implementation for Box, including exception safety.+* **It needs to support already-idiomatic constructors like `fn new() -> GiantStruct { GiantStruct { ... } }`** Since this proposal is defined in terms of Guaranteed Copy Elision, this is a gimme.+* **It needs to be possible to in-place populate data structures that cannot be written using a single literal expression.** The `write_return_with` intrinsic suggested in this proposal allows this to be done in an unsafe way. Sketches for APIs built on top of them are also given in the [future-possibilities] section.+* **It needs to avoid adding egregious overhead in cases where the values being populated are small (in other words, if the value being initialized is the size of a pointer or smaller, it needs to be possible for the compiler to optimize away the outptr).** Since this proposal is written in terms of Guaranteed Copy Elision, this is a gimme. The exception of the "weird bypass functions" `read_return_with` and `write_return_with` may seem to break this; see the [example desugarings here](#How-do-the-return-slot-functions-work-when-the-copy-is-not-actually-elided) for info on how these functions work when the copy is not actually elided.+* **It needs to solve most of the listed problems with the old proposals.** Since this one actually goes the distance and defines when copy elision will kick in, it fixes the biggest problems that the old `box` literal system had. It is also written in terms of present-day Rust, using `impl Trait`, and with the current direction of Rust in mind.++# Guide-level explanation+[guide-level-explanation]: #guide-level-explanation++If you need to allocate a very large data structure, or a DST, you should prefer using `Box::new_with` over `Box::new`. For example:++```rust+let boxed_array = Box::new_with(|| [0; 1_000_000]); // instead of Box::new([0; 1_000_000])+let boxed_data_struct = Box::new_with(DataStruct::new); // instead of Box::new(DataStruct::new())+```++The `new_with` function will perform the allocation first, then evaluate the closure, placing the result directly within it. The `new` function, on the other hand, evaluates the argument *then* performs the allocation and copies the value into it.

No, allocator calls are not considered to have important side-effects from what I understand. LLVM is free to optimize allocations out completely, after all.

PoignardAzur

comment created time in 9 minutes

issue commentdenoland/deno

How to access port and hostname with serve

Typescript only allows accessing common members to all types in the union, in this case we can access only transport. Letting developers use type guards or even type casting to UnixAddr or NetAddr shouldn't be the preferred solution imo. It could be either provided as Deno.port() like it is (currently unstable) for Deno.hostname(), or it could be handled easily by adding an optional interface for UnixAddr and NetAddr and only letting transport be the required field (since that is already the only required field). I can make a PR for that. @bartlomieju

dhanushkac

comment created time in 9 minutes

issue commentw3c/csswg-drafts

[css-color-5] What are the color functions (or color adjusters)?

4c. If you use an unavailable adjuster then the colorspace should auto-convert to the one that has this adjuster. So using chroma would auto-convert to LCH.

4d. Need to define what happens if you use hue or lightness in, say, rgb where there isn't an obvious default to convert to. That might be disambiguated by picking distinct names (at the expense of verbosity) or by saying it always goes to LCH since that is the default anyway.

For now, I went for the simpler option where the color-adjusters available depend on the colorspace. So if you want to adjust HSL hue (for example to port something you already have in sass) then you must specify hsl as the colorspace. Being explicit looks more easy to understand and more maintainable (if other colorspaces are added in the future) rather than messy "if you ask for saturation it autoconverts to HSL but if you ask for Hue it autoconverts to LCH because reasons" heuristics.

jonathantneal

comment created time in 10 minutes

issue commentw3ctag/design-reviews

Periodic Background Sync

@kenchris Just FYI: my PR to update MDN with Periodic Background Sync availability was approved at the beginning of May: https://github.com/mdn/browser-compat-data/pull/6030 So the correct status should appear at CanIUse and MDN docs.

mugdhalakhani

comment created time in 14 minutes

issue commentrust-lang/chalk

extend chalk to include outlives goals

Not directly. It's part of a larger plan that will address that problem, though.

nikomatsakis

comment created time in 14 minutes

startediceiix/stevenarella

started time in 14 minutes

startedx08d/lockdown.sh

started time in 14 minutes

issue commentw3c/csswg-drafts

[css-color-5] Color-mix needs a linear-light colorspace option

I added xyz with a note that per-component adjustment is unlikely to be useful. Adjusting all three channels together is however very useful.

svgeesus

comment created time in 14 minutes

Pull request review commentrust-lang/chalk

Request hidden opaque types lazily

 pub trait RustIrDatabase<I: Interner>: Debug {     /// Returns the `OpaqueTyDatum` with the given id.     fn opaque_ty_data(&self, id: OpaqueTyId<I>) -> Arc<OpaqueTyDatum<I>>; +    /// Returns the "hidden type" corresponding with the opaque type.+    fn hidden_opaque_type(&self, id: OpaqueTyId<I>) -> Arc<Ty<I>>;

this should just return a Ty<I>, not an Arc

detrumi

comment created time in 15 minutes

push eventxi-editor/druid

keenz

commit sha c4f92c107dea660dbb8d5e16e48990274b175c01

Fix menu updates in the multiwin example. (#926)

view details

push time in 15 minutes

PR merged xi-editor/druid

Fix menu updates in the multiwin example. examples
+37 -24

5 comments

3 changed files

kindlychung

pr closed time in 15 minutes

issue closedxi-editor/druid

ui inconsistency in multiwin example

afbeelding

When the menu count is reduced to 0, one of the windows is still showing custom menu.

closed time in 15 minutes

kindlychung

push eventw3c/csswg-drafts

Chris Lilley

commit sha f05170714980331254d09bccc358fc0e72627f40

[css-color-hdr] First cut dream

view details

Chris Lilley

commit sha 09b5ecbeb930a434ea79b1ee8e4198c0af238d88

[css-color-5] link to the right issue

view details

Chris Lilley

commit sha cbcf8313a3fdcdba1f5e2c0ef13a9b322a7e9c3a

[css-color-5] define color-adjuster & colorspace, add xyz. #4681 #4743

view details

push time in 16 minutes

more