Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update parking_lot requirement from 0.11.0 to 0.12.0 #2

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Apr 16, 2022

Updates the requirements on parking_lot to permit the latest version.

Changelog

Sourced from parking_lot's changelog.

parking_lot 0.12.0, parking_lot_core 0.9.0, lock_api 0.4.6 (2022-01-28)

  • The MSRV is bumped to 1.49.0.
  • Disabled eventual fairness on wasm32-unknown-unknown. (#302)
  • Added a rwlock method to report if lock is held exclusively. (#303)
  • Use new asm! macro. (#304)
  • Use windows-rs instead of winapi for faster builds. (#311)
  • Moved hardware lock elision support to a separate Cargo feature. (#313)
  • Removed used of deprecated spin_loop_hint. (#314)

parking_lot 0.11.2, parking_lot_core 0.8.4, lock_api 0.4.5 (2021-08-28)

  • Fixed incorrect memory orderings on RwLock and WordLock. (#294, #292)
  • Added Arc-based lock guards. (#291)
  • Added workaround for TSan's lack of support for fence. (#292)

lock_api 0.4.4 (2021-05-01)

  • Update for latest nightly. (#281)

lock_api 0.4.3 (2021-04-03)

  • Added [Raw]ReentrantMutex::is_owned. (#280)

parking_lot_core 0.8.3 (2021-02-12)

  • Updated smallvec to 1.6. (#276)

parking_lot_core 0.8.2 (2020-12-21)

  • Fixed assertion failure on OpenBSD. (#270)

parking_lot_core 0.8.1 (2020-12-04)

  • Removed deprecated CloudABI support. (#263)
  • Fixed build on wasm32-unknown-unknown. (#265)
  • Relaxed dependency on smallvec. (#266)

parking_lot 0.11.1, lock_api 0.4.2 (2020-11-18)

  • Fix bounds on Send and Sync impls for lock guards. (#262)
  • Fix incorrect memory ordering in RwLock. (#260)

lock_api 0.4.1 (2020-07-06)

  • Add data_ptr method to lock types to allow unsafely accessing the inner data without a guard. (#247)

parking_lot 0.11.0, parking_lot_core 0.8.0, lock_api 0.4.0 (2020-06-23)

... (truncated)

Commits
  • a75875b Release parking_lot 0.12.0, parking_lot_core 0.9.0, lock_api 0.4.6
  • 78a16dd Minor fixes
  • 4d64bc6 Merge pull request #314 from Amanieu/spin_loop
  • a4e4a02 Only run CI for bors and pull requests
  • 930caab Use core::hint::spin_loop instead of the deprecated spin_loop_hint.
  • b3c9290 Merge pull request #313 from Amanieu/hle_feature
  • b271f84 Move hardware lock elision support to a separate Cargo feature
  • 8019473 Merge pull request #311 from clemenswasser/adopt-windows-rs
  • 1f94288 Adopt windows-rs
  • c73dd43 Merge pull request #309 from Amanieu/stable_asm
  • Additional commits viewable in compare view

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 commands and options

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)

Updates the requirements on [parking_lot](https://github.com/Amanieu/parking_lot) to permit the latest version.
- [Release notes](https://github.com/Amanieu/parking_lot/releases)
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md)
- [Commits](Amanieu/parking_lot@0.11.0...0.12.0)

---
updated-dependencies:
- dependency-name: parking_lot
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Apr 16, 2022

The following labels could not be found: C-Dependencies.

@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Jun 6, 2022

Superseded by #12.

@dependabot dependabot bot closed this Jun 6, 2022
@dependabot dependabot bot deleted the dependabot/cargo/parking_lot-0.12.0 branch June 6, 2022 14:27
aljen pushed a commit that referenced this pull request Jun 13, 2023
# Objective

> ℹ️ **This is an adoption of bevyengine#4081 by @james7132**

Fixes bevyengine#4080.

Provide a way to pre-parse reflection paths so as to avoid having to parse at each call to `GetPath::path` (or similar method).

## Solution

Adds the `ParsedPath` struct (named `FieldPath` in the original PR) that parses and caches the sequence of accesses to a reflected element. This is functionally similar to the `GetPath` trait, but removes the need to parse an unchanged path more than once.

### Additional Changes

Included in this PR from the original is cleaner code as well as the introduction of a new pathing operation: field access by index. This allows struct and struct variant fields to be accessed in a more performant (albeit more fragile) way if needed. This operation is faster due to not having to perform string matching. As an example, if we wanted the third field on a struct, we'd write `#2`—where `#` denotes indexed access and `2` denotes the desired field index.

This PR also contains improved documentation for `GetPath` and friends, including renaming some of the methods to be more clear to the end-user with a reduced risk of getting them mixed up.

### Future Work

There are a few things that could be done as a separate PR (order doesn't matter— they could be followup PRs or done in parallel). These are:

- [x] ~~Add support for `Tuple`. Currently, we hint that they work but they do not.~~ See bevyengine#7324
- [ ] Cleanup `ReflectPathError`. I think it would be nicer to give `ReflectPathError` two variants: `ReflectPathError::ParseError` and `ReflectPathError::AccessError`, with all current variants placed within one of those two. It's not obvious when one might expect to receive one type of error over the other, so we can help by explicitly categorizing them.

---

## Changelog

- Cleaned up `GetPath` logic
- Added `ParsedPath` for cached reflection paths
- Added new reflection path syntax: struct field access by index (example syntax: `foo#1`)
- Renamed methods on `GetPath`:
  - `path` -> `reflect_path`
  - `path_mut` -> `reflect_path_mut`
  - `get_path` -> `path`
  - `get_path_mut` -> `path_mut`

## Migration Guide

`GetPath` methods have been renamed according to the following:
- `path` -> `reflect_path`
- `path_mut` -> `reflect_path_mut`
- `get_path` -> `path`
- `get_path_mut` -> `path_mut`


Co-authored-by: Gino Valente <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants