Fix absolute descendents being replaced when retreiving root
<!-- Please describe your changes on the following line: -->
The cause of #16410 is because calling `try_get_layout_root` will replace its `abs_descendants` even itself isn't absolute positioned. So I pushed them instead if the root isn't absolute. Also add a few docs and comments to help understand how block size of absolute flow is being calculated.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#16410 (GitHub issue number if applicable)
<!-- Either: -->
- [x] There are tests for these changes:
Reduced testcase from the issue.
```html
<style>
html {
min-height: 100%;
position: relative;
}
div {
position: absolute;
bottom: 0;
width: 100%;
height: 25px;
border: 1px solid black;
}
</style>
<div>
</div>
```
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Bump brotli-decompressor from 2.3.2 to 2.3.4
Bumps [brotli-decompressor](https://github.com/dropbox/rust-brotli-decompressor) from 2.3.2 to 2.3.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/dropbox/rust-brotli-decompressor/commits">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Bump nom from 7.1.1 to 7.1.3
Bumps [nom](https://github.com/Geal/nom) from 7.1.1 to 7.1.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-bakery/nom/blob/7.1.3/CHANGELOG.md">nom's changelog</a>.</em></p>
<blockquote>
<h2>7.1.3 - 2023-01-15</h2>
<h3>Thanks</h3>
<ul>
<li><a href="https://github.com/Shadow53"><code>@Shadow53</code></a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>panic in <code>many</code> and <code>count</code> combinators when the output type is zero sized</li>
</ul>
<h2>7.1.2 - 2023-01-01</h2>
<h3>Thanks</h3>
<ul>
<li><a href="https://github.com/joubs"><code>@joubs</code></a></li>
<li><a href="https://github.com/Fyko"><code>@Fyko</code></a></li>
<li><a href="https://github.com/LoganDark"><code>@LoganDark</code></a></li>
<li><a href="https://github.com/darnuria"><code>@darnuria</code></a></li>
<li><a href="https://github.com/jkugelman"><code>@jkugelman</code></a></li>
<li><a href="https://github.com/barower"><code>@barower</code></a></li>
<li><a href="https://github.com/puzzlewolf"><code>@puzzlewolf</code></a></li>
<li><a href="https://github.com/epage"><code>@epage</code></a></li>
<li><a href="https://github.com/cky"><code>@cky</code></a></li>
<li><a href="https://github.com/wolthom"><code>@wolthom</code></a></li>
<li><a href="https://github.com/w1ll-i-code"><code>@w1ll-i-code</code></a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>documentation fixes</li>
<li>tests fixes</li>
<li>limit the initial capacity of the result vector of <code>many_m_n</code> to 64kiB</li>
<li>bits parser now accept <code>Parser</code> implementors instead of only functions</li>
</ul>
<h3>Added</h3>
<ul>
<li>implement <code>Tuple</code> parsing for the unit type as a special case</li>
<li>implement <code>ErrorConvert</code> on the unit type to make it usable as error type for bits parsers</li>
<li>bool parser for bits input</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="869f8972a4"><code>869f897</code></a> v7.1.3</li>
<li><a href="a534b39078"><code>a534b39</code></a> fix other uses of MAX_INITIAL_CAPACITY_BYTES</li>
<li><a href="ee7ad17086"><code>ee7ad17</code></a> avoid panic when counting zero-sized outputs in count() (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1618">#1618</a>)</li>
<li><a href="6be62d30d7"><code>6be62d3</code></a> v7.1.2 (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1605">#1605</a>)</li>
<li><a href="6860641f1b"><code>6860641</code></a> 1533 implement bool function for bits (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1534">#1534</a>)</li>
<li><a href="6e45c5d1f3"><code>6e45c5d</code></a> Remove duplicated section from error_management.md (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1529">#1529</a>)</li>
<li><a href="3c5e08cde0"><code>3c5e08c</code></a> <code>impl ErrorConvert\<()> for ()</code> (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1583">#1583</a>)</li>
<li><a href="9c357edae7"><code>9c357ed</code></a> Move the succ! macro to its own file (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1598">#1598</a>)</li>
<li><a href="9cff115667"><code>9cff115</code></a> Ensure all examples compile (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1604">#1604</a>)</li>
<li><a href="b66ff43eff"><code>b66ff43</code></a> fix(bits): Accept Parser, not parser-like functions (<a href="https://github-redirect.dependabot.com/Geal/nom/issues/1599">#1599</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/Geal/nom/compare/7.1.1...7.1.3">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Bump ab_glyph_rasterizer from 0.1.7 to 0.1.8
Bumps [ab_glyph_rasterizer](https://github.com/alexheretic/ab-glyph) from 0.1.7 to 0.1.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/alexheretic/ab-glyph/releases">ab_glyph_rasterizer's releases</a>.</em></p>
<blockquote>
<h2>ab-glyph-rasterizer-0.1.8</h2>
<ul>
<li>Do SIMD runtime detection only once on the first <code>Rasterizer::new</code> instead of on each.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="aa0742d335"><code>aa0742d</code></a> Release ab_glyph_rasterizer 0.1.8</li>
<li><a href="0f13f4c8e1"><code>0f13f4c</code></a> Do SIMD runtime detection once using <code>std::sync::Once</code> (<a href="https://github-redirect.dependabot.com/alexheretic/ab-glyph/issues/71">#71</a>)</li>
<li><a href="ce85e135de"><code>ce85e13</code></a> Release ab_glyph 0.2.19</li>
<li><a href="be17472cd3"><code>be17472</code></a> Update ttf-parser to 0.18</li>
<li><a href="63cb3702b3"><code>63cb370</code></a> rustfmt doc comments</li>
<li><a href="d12ed25001"><code>d12ed25</code></a> Release ab_glyph 0.2.18</li>
<li><a href="3ae5c70912"><code>3ae5c70</code></a> Update ttf-parser to 0.17</li>
<li>See full diff in <a href="https://github.com/alexheretic/ab-glyph/compare/ab-glyph-rasterizer-0.1.7...ab-glyph-rasterizer-0.1.8">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>
Allow displaying content with "application/json" mime type
For me this allows the WPT test
performance-timeline/tentative/include-frames-one-remote-child.sub.html
to match expected results. The wptserver is sending a 404 JSON response
because the URL that the test requests is not found.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#29136.
- [x] There are tests for these changes.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Stringify unknown JavaScript objects in global exception handlers
When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception. This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:
Before:
```
uncaught exception: unknown (can't convert to string)
```
After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes.
Add a script to upstream WPT changes via a GitHub Action
This is a modified version of the webhook found at https://github.com/servo/upstream_wpt_webhook and deployed via SaltStack. It is updated to use modern Python and to assume that GitHub Actions will fetch the appropriate source code locally before the script is run.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#29206 and #23798
- [x] There are tests for these changes
This is a modified version of the webhook found at
servo/upstream_wpt_webhook and deployed via SaltStack. It is updated to
use modern Python and to assume that GitHub Actions will fetch the
appropriate source code locally before the script is run.
Fixes#29206.
Fixes#23798.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Fail faster on CI when Linux bootstrap fails
Raise an exception when dependencies fail to install. Also split the run phase of the Linux bootstrap so that either of these failing commands will cause the job to fail.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they just change minor script issues.
CI: disable mac-wpt job in main workflow
In theory, the new mac-wpt jobs added in #29201 are harmless since they aren’t required for the main workflow to succeed, but in practice, the runners are so slow to assign and run that they break the build.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the CI configuration
Simplify Python code for running WPT tests
Combine `run.py` and `update.py` into `servowpt.py` in order to allow them to share code. Import them directly into the mach script to avoid having to call `compile` and `exec` on the code. This makes it clearer how they are executed. In addition, move all of the setup into `setupwpt.py` to avoid differences between tests executed via mach and not. Finally, be more ambitious when detecting the build to use. If none was specified, try to use the one that exists between "release" and "debug."
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they only change a small script behavior.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
For me this allows the WPT test
performance-timeline/tentative/include-frames-one-remote-child.sub.html
to match expected results. The wptserver is sending a 404 JSON response
because the URL that the test requests is not found.
Combine `run.py` and `update.py` into `servowpt.py` in order to allow
them to share code. Import them directly into the mach script to avoid
having to call `compile` and `exec` on the code. This makes it clearer
how they are executed. In addition, move all of the setup into
`setupwpt.py` to avoid differences between tests executed via mach and
not. Finally, be more ambitious when detecting the build to use. If none
was specified, try to use the one that exists between "release" and
"debug."
Raise an exception when dependencies fail to install. Also split the run
phase of the Linux bootstrap so that either of these failing commands
will cause the job to fail.
When turning DOM exceptions into `ErrorInfo` always try to stringify
the JavaScript value, even if it's an object that isn't a `DOMException`
or native exception. This means that exceptions that extend the `Error`
prototype are now stringified. The result is that test output for WPT
global assertion failures is more useful. For instance for the test
include-frames-from-child-same-origin-grandchild.sub.html:
Before:
```
uncaught exception: unknown (can't convert to string)
```
After:
```
uncaught exception: Error: assert_equals: expected 4 but got 3
```
CI: run WPT tests on macOS
This patch uncomments and fixes the mac-wpt job in the main workflow, with a few changes:
* we downgrade python3 and pip3 to 3.9, because inspect.getargspec was [removed in 3.11](https://docs.python.org/3/whatsnew/3.11.html#removed)
* we should apparently move to [inspect.getfullargspec](https://docs.python.org/3/library/inspect.html#inspect.getfullargspec)
* we download the real Servo artifact, rather than the fake Servo for testing
We also align the rest of the job (other than `--timeout-multiplier`) to be as close as possible to linux-wpt, based on the assumption that linux-wpt is more up to date. This includes:
* setting strategy.fail-fast to false
* adding a failure() condition to the “Archive logs” step
* adding the chunk id to log filenames
There are some failing WPT tests, so for now the job is not required to succeed.
Example run: <https://github.com/delan/servo/actions/runs/3837530905>
---
- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [x] These changes fix#28284 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the CI configuration
wpt: update README instructions about running tests manually
I wanted to run a single test many times in parallel to smoke out some timeouts, but this was surprisingly tricky. This involved running multiple instances of `mach test-wpt`, which in turn involved convincing wptrunner not to start a WPT server for each instance, which is not currently exposed as an option. I also eventually realised I needed to install a custom testharnessreport.js, but the instructions were very outdated, so most of the paths and commands etc had changed.
This patch adds a section about running `mach test-wpt` with an external WPT server, and updates the section about running tests manually.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [ ] These changes fix #___ (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the wpt readme only
Fix intermittency when loading poster images
Wait until a poster image is cached to in order to unblock document load. If not, the document may continue loading before the image is ready to use, leading to intermittency in test output. Now load is unblocked when getting the ImageResponse from the cache, which allows the code to properly unblock the load when the entire load fails or succeeds.
This reveals several false passes in the `object-view-box` test suite which were very flaky.
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#29204.
- [x] These changes fix#29188.
- [x] These changes fix#29179.
<!-- Either: -->
- [x] There are tests for these changes
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Fix some build warnings
- Mark some instances of unused fields and variables as as allowed, when they are used for memory management.
- Remove the use of some deprecated function.s
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they do not change behavior.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
- Mark some instances of unused fields and variables as as allowed,
when they are used for memory management.
- Remove the use of some deprecated function.s
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Wait until a poster image is cached to in order to unblock document load. If
not, the document may continue loading before the image is ready to use,
leading to intermittency in test output. Now load is unblocked when
getting the ImageResponse from the cache, which allows the code to
properly unblock the load when the entire load fails or succeeds.
This reveals several false passes in the `object-view-box` test suite
which were very flaky.
Fixes#29204.
Fixes#29188.
Fixes#29179.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
mach filter-intermittents: add progress and --json output mode
filter-intermittents takes a while, because it needs to look up each failure against the tracker api (or GitHub api), so it would be nice to know how long we’ll need to wait when running it interactively. The output is also pretty-printed in a format that’s not the easiest to analyse.
This patch adds some progress output (on stderr, one line with \\r), plus a --json output format as follows:
[{"test": "/path/to/foo", "output": "..."}, {"test": "/path/to/bar", "output": "..."}, ...]
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [ ] These changes fix #___ (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect mach filter-intermittents only
CI: remove branch check steps that don’t actually do anything
f165e17ce2 (#28778) adds a step to each job of the main build that ostensibly bails out of the job, if the context branch is not `auto` or one of the `try` branches relevant for that platform. But a step that runs `exit 0` doesn’t really have any effect.
Since the main workflow already has `branches` limited to `auto` and the `try` branches, we can safely remove those steps without worrying about the main build running on dependabot branches etc. For example:
* [dependabot/cargo/nom-7.1.2](https://github.com/servo/servo/actions?query=branch%3Adependabot%2Fcargo%2Fnom-7.1.2) only has a run for the pull request workflow
* [this test build](https://github.com/delan/servo/actions/runs/3830596812/jobs/6518672884) shows that even if the branch check fails, the build continues
---
- [ ] ~~`./mach build -d` does not report any errors~~
- [ ] ~~`./mach test-tidy` does not report any errors~~
- [ ] ~~These changes fix #___ (GitHub issue number if applicable)~~
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they affect the CI configuration
Bump try-lock from 0.2.2 to 0.2.4
Bumps [try-lock](https://github.com/seanmonstar/try-lock) from 0.2.2 to 0.2.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="3ec20adaf7"><code>3ec20ad</code></a> v0.2.4</li>
<li><a href="531bfce134"><code>531bfce</code></a> Remove Send and Sync autotraits from the lock guard (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/8">#8</a>)</li>
<li><a href="643b0eceb7"><code>643b0ec</code></a> v0.2.3</li>
<li><a href="a0fb2a10b2"><code>a0fb2a1</code></a> Add GitHub Actions for CI (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/5">#5</a>)</li>
<li><a href="f9b9abf6f1"><code>f9b9abf</code></a> deprecate <code>try_lock_order</code>, introduce <code>try_lock_explicit[_unchecked]</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/3">#3</a>)</li>
<li><a href="9f3ba4e37b"><code>9f3ba4e</code></a> make the crate no-std (<a href="https://github-redirect.dependabot.com/seanmonstar/try-lock/issues/4">#4</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/try-lock/compare/v0.2.2...v0.2.4">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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)
</details>