Skip to content

Conversation

@mariusae
Copy link
Member

@mariusae mariusae commented Jun 26, 2025

Stack from ghstack (oldest at bottom):

Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs

Differential Revision: D77395488

NOTE FOR REVIEWERS: This PR has internal Meta-specific changes or comments, please review them on Phabricator!

Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs

Differential Revision: [D77395488](https://our.internmc.facebook.com/intern/diff/D77395488/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D77395488/)!

[ghstack-poisoned]
mariusae added a commit that referenced this pull request Jun 26, 2025
Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs

Differential Revision: [D77395488](https://our.internmc.facebook.com/intern/diff/D77395488/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D77395488/)!

ghstack-source-id: 292929922
Pull Request resolved: #357
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jun 26, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D77395488

Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs

Differential Revision: [D77395488](https://our.internmc.facebook.com/intern/diff/D77395488/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D77395488/)!

[ghstack-poisoned]
mariusae added a commit that referenced this pull request Jun 26, 2025
Pull Request resolved: #357

Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs

Differential Revision: [D77395488](https://our.internmc.facebook.com/intern/diff/D77395488/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D77395488/)!
ghstack-source-id: 292931379
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D77395488

Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs

Differential Revision: [D77395488](https://our.internmc.facebook.com/intern/diff/D77395488/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D77395488/)!

[ghstack-poisoned]
mariusae added a commit that referenced this pull request Jun 27, 2025
Pull Request resolved: #357

Rust allows crate sub modules to be specified in a directly named after the toplevel module, instead of the sigil file "mod.rs".

This makes the files more discoverable, and easier to look up in editors, tooling, etc.

This change implements this pattern for the core hyperactor crate, specifically:

foo/mod.rs -> foo.rs
ghstack-source-id: 293003583

Differential Revision: [D77395488](https://our.internmc.facebook.com/intern/diff/D77395488/)

**NOTE FOR REVIEWERS**: This PR has internal Meta-specific changes or comments, please review them on [Phabricator](https://our.internmc.facebook.com/intern/diff/D77395488/)!
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D77395488

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 3ad9b5d.

cfsmp3 pushed a commit to cfsmp3/monarch that referenced this pull request Jul 26, 2025
Summary:
## [1.1.10] - 2025-03-03

- Suppress `clippy::elidable_lifetime_names` lint in generated code.

## [1.1.9] - 2025-02-03

- Suppress `clippy::missing_const_for_fn` lint in generated code.

## [1.1.8] - 2025-01-06

- Suppress `unnameable_types`, `clippy::absolute_paths`, `clippy::min_ident_chars`, `clippy::pub_with_shorthand`, `clippy::single_call_fn`, `clippy::single_char_lifetime_names` lints in generated code.

## [1.1.7] - 2024-10-24

- Work around an issue on negative_impls that allows unsound overlapping `Unpin` implementations. ([meta-pytorch#357](taiki-e/pin-project#357))

## [1.1.6] - 2024-10-05

- Suppress `clippy::needless_lifetimes` lint in generated code.

- Disable `derive` feature of `syn` dependency.

## [1.1.5] - 2024-03-05

- Suppress `unused_qualifications` lint in generated code.

## [1.1.4] - 2024-01-25

- Suppress `clippy::missing_docs_in_private_items` and `clippy::missing_inline_in_public_items` lints in generated code. ([meta-pytorch#356](taiki-e/pin-project#356), thanks daxpedda)

## [1.1.3] - 2023-08-06

- Hide documentation of the `Unpin` implementation for `!Unpin` option to work around [rustdoc issue](rust-lang/rust#80481). ([meta-pytorch#355](taiki-e/pin-project#355), thanks matheus-consoli)

## [1.1.2] - 2023-07-02

- Inline project methods.

## [1.1.1] - 2023-06-29

- Fix build error from dependency when built with `-Z minimal-versions`.

## [1.1.0] - 2023-05-13

- Update `syn` dependency to 2. This increase the minimum supported Rust version from Rust 1.37 to Rust 1.56. ([meta-pytorch#352](taiki-e/pin-project#352), [meta-pytorch#354](taiki-e/pin-project#354), thanks maurer and daxpedda)

## [1.0.12] - 2022-08-15

- Suppress `unused_tuple_struct_fields` lint in generated code.

## [1.0.11] - 2022-07-02

- [Suppress `dead_code` lint in generated code.](taiki-e/pin-project#346)

## [1.0.10] - 2021-12-31

- Revert the increase of the minimal version of `syn` that was done in 1.0.9.

## [1.0.9] - 2021-12-26

- [Prevent abuse of private module.](taiki-e/pin-project#336)

- Update minimal version of `syn` to 1.0.84.

## [1.0.8] - 2021-07-21

- [Suppress `clippy::use_self` and `clippy::type_repetition_in_bounds` lints in generated code.](taiki-e/pin-project#331)

## [1.0.7] - 2021-04-16

- [Fix compile error when using `self::` as prefix of path inside `#[pinned_drop]` impl.](taiki-e/pin-project#326)

## [1.0.6] - 2021-03-25

- [Suppress `clippy::semicolon_if_nothing_returned` lint in generated code.](taiki-e/pin-project#318)

## [1.0.5] - 2021-02-03

- [Suppress `deprecated` lint in generated code.](taiki-e/pin-project#313)

## [1.0.4] - 2021-01-09

- [Suppress `clippy::ref_option_ref` lint in generated code.](taiki-e/pin-project#308)

## [1.0.3] - 2021-01-05

- Exclude unneeded files from crates.io.

## [1.0.2] - 2020-11-18

- [Suppress `clippy::unknown_clippy_lints` lint in generated code.](taiki-e/pin-project#303)

## [1.0.1] - 2020-10-15

**Note:** This release has been yanked because it [failed to compile with syn 1.0.84 and later](taiki-e/pin-project@ddcd880).

- [Fix warnings when `#[pin_project]` attribute used within `macro_rules!` macros.](taiki-e/pin-project#298)

## [1.0.0] - 2020-10-13

**Note:** This release has been yanked because it [failed to compile with syn 1.0.84 and later](taiki-e/pin-project@ddcd880).

- [Remove deprecated `#[project]`, `#[project_ref]`, and `#[project_replace]` attributes.](taiki-e/pin-project#265)

  Name the projected type by passing an argument with the same name as the method to the `#[pin_project]` attribute instead:

  ```diff
  - #[pin_project]
  + #[pin_project(project = EnumProj)]
    enum Enum<T> {
        Variant(#[pin] T),
    }

  - #[project]
    fn func<T>(x: Pin<&mut Enum<T>>) {
  -     #[project]
        match x.project() {
  -         Enum::Variant(_) => { /* ... */ }
  +         EnumProj::Variant(_) => { /* ... */ }
        }
    }
  ```

- [Remove deprecated `Replace` argument from `#[pin_project]` attribute.](taiki-e/pin-project#266) Use `project_replace` argument instead.

- [Optimize code generation when used on enums.](taiki-e/pin-project#270)

- [Raise the minimum supported Rust version of this crate from Rust 1.34 to Rust 1.37.](taiki-e/pin-project#292)

- Suppress `explicit_outlives_requirements`, `box_pointers`, `clippy::large_enum_variant`, `clippy::pattern_type_mismatch`, `clippy::implicit_return`, and `clippy::redundant_pub_crate` lints in generated code. ([meta-pytorch#276](taiki-e/pin-project#276), [meta-pytorch#277](taiki-e/pin-project#277), [meta-pytorch#284](taiki-e/pin-project#284))

- Diagnostic improvements.

Changes since the 1.0.0-alpha.1 release:

- [Fix drop order of pinned fields in `project_replace`.](https://github.com/taiki-e/pin-``project/pull/287)

- Update minimal version of `syn` to 1.0.44.

## [1.0.0-alpha.1] - 2020-09-22

- [Remove deprecated `#[project]`, `#[project_ref]`, and `#[project_replace]` attributes.](taiki-e/pin-project#265)

  Name the projected type by passing an argument with the same name as the method to the `#[pin_project]` attribute instead:

  ```diff
  - #[pin_project]
  + #[pin_project(project = EnumProj)]
    enum Enum<T> {
        Variant(#[pin] T),
    }

  - #[project]
    fn func<T>(x: Pin<&mut Enum<T>>) {
  -     #[project]
        match x.project() {
  -         Enum::Variant(_) => { /* ... */ }
  +         EnumProj::Variant(_) => { /* ... */ }
        }
    }
  ```

- [Remove deprecated `Replace` argument from `#[pin_project]` attribute.](taiki-e/pin-project#266) Use `project_replace` argument instead.

- [Optimize code generation when used on enums.](taiki-e/pin-project#270)

- Suppress `explicit_outlives_requirements`, `box_pointers`, `clippy::large_enum_variant`, `clippy::pattern_type_mismatch`, and `clippy::implicit_return` lints in generated code. ([meta-pytorch#276](taiki-e/pin-project#276), [meta-pytorch#277](taiki-e/pin-project#277))

- Diagnostic improvements.

See also [tracking issue for 1.0 release](taiki-e/pin-project#264).

Reviewed By: dtolnay, capickett

Differential Revision: D79015865
facebook-github-bot pushed a commit that referenced this pull request Jul 26, 2025
Summary:
Pull Request resolved: #657

## [1.1.10] - 2025-03-03

- Suppress `clippy::elidable_lifetime_names` lint in generated code.

## [1.1.9] - 2025-02-03

- Suppress `clippy::missing_const_for_fn` lint in generated code.

## [1.1.8] - 2025-01-06

- Suppress `unnameable_types`, `clippy::absolute_paths`, `clippy::min_ident_chars`, `clippy::pub_with_shorthand`, `clippy::single_call_fn`, `clippy::single_char_lifetime_names` lints in generated code.

## [1.1.7] - 2024-10-24

- Work around an issue on negative_impls that allows unsound overlapping `Unpin` implementations. ([#357](taiki-e/pin-project#357))

## [1.1.6] - 2024-10-05

- Suppress `clippy::needless_lifetimes` lint in generated code.

- Disable `derive` feature of `syn` dependency.

## [1.1.5] - 2024-03-05

- Suppress `unused_qualifications` lint in generated code.

## [1.1.4] - 2024-01-25

- Suppress `clippy::missing_docs_in_private_items` and `clippy::missing_inline_in_public_items` lints in generated code. ([#356](taiki-e/pin-project#356), thanks daxpedda)

## [1.1.3] - 2023-08-06

- Hide documentation of the `Unpin` implementation for `!Unpin` option to work around [rustdoc issue](rust-lang/rust#80481). ([#355](taiki-e/pin-project#355), thanks matheus-consoli)

## [1.1.2] - 2023-07-02

- Inline project methods.

## [1.1.1] - 2023-06-29

- Fix build error from dependency when built with `-Z minimal-versions`.

## [1.1.0] - 2023-05-13

- Update `syn` dependency to 2. This increase the minimum supported Rust version from Rust 1.37 to Rust 1.56. ([#352](taiki-e/pin-project#352), [#354](taiki-e/pin-project#354), thanks maurer and daxpedda)

## [1.0.12] - 2022-08-15

- Suppress `unused_tuple_struct_fields` lint in generated code.

## [1.0.11] - 2022-07-02

- [Suppress `dead_code` lint in generated code.](taiki-e/pin-project#346)

## [1.0.10] - 2021-12-31

- Revert the increase of the minimal version of `syn` that was done in 1.0.9.

## [1.0.9] - 2021-12-26

- [Prevent abuse of private module.](taiki-e/pin-project#336)

- Update minimal version of `syn` to 1.0.84.

## [1.0.8] - 2021-07-21

- [Suppress `clippy::use_self` and `clippy::type_repetition_in_bounds` lints in generated code.](taiki-e/pin-project#331)

## [1.0.7] - 2021-04-16

- [Fix compile error when using `self::` as prefix of path inside `#[pinned_drop]` impl.](taiki-e/pin-project#326)

## [1.0.6] - 2021-03-25

- [Suppress `clippy::semicolon_if_nothing_returned` lint in generated code.](taiki-e/pin-project#318)

## [1.0.5] - 2021-02-03

- [Suppress `deprecated` lint in generated code.](taiki-e/pin-project#313)

## [1.0.4] - 2021-01-09

- [Suppress `clippy::ref_option_ref` lint in generated code.](taiki-e/pin-project#308)

## [1.0.3] - 2021-01-05

- Exclude unneeded files from crates.io.

## [1.0.2] - 2020-11-18

- [Suppress `clippy::unknown_clippy_lints` lint in generated code.](taiki-e/pin-project#303)

## [1.0.1] - 2020-10-15

**Note:** This release has been yanked because it [failed to compile with syn 1.0.84 and later](taiki-e/pin-project@ddcd880).

- [Fix warnings when `#[pin_project]` attribute used within `macro_rules!` macros.](taiki-e/pin-project#298)

## [1.0.0] - 2020-10-13

**Note:** This release has been yanked because it [failed to compile with syn 1.0.84 and later](taiki-e/pin-project@ddcd880).

- [Remove deprecated `#[project]`, `#[project_ref]`, and `#[project_replace]` attributes.](taiki-e/pin-project#265)

  Name the projected type by passing an argument with the same name as the method to the `#[pin_project]` attribute instead:

  ```diff
  - #[pin_project]
  + #[pin_project(project = EnumProj)]
    enum Enum<T> {
        Variant(#[pin] T),
    }

  - #[project]
    fn func<T>(x: Pin<&mut Enum<T>>) {
  -     #[project]
        match x.project() {
  -         Enum::Variant(_) => { /* ... */ }
  +         EnumProj::Variant(_) => { /* ... */ }
        }
    }
  ```

- [Remove deprecated `Replace` argument from `#[pin_project]` attribute.](taiki-e/pin-project#266) Use `project_replace` argument instead.

- [Optimize code generation when used on enums.](taiki-e/pin-project#270)

- [Raise the minimum supported Rust version of this crate from Rust 1.34 to Rust 1.37.](taiki-e/pin-project#292)

- Suppress `explicit_outlives_requirements`, `box_pointers`, `clippy::large_enum_variant`, `clippy::pattern_type_mismatch`, `clippy::implicit_return`, and `clippy::redundant_pub_crate` lints in generated code. ([#276](taiki-e/pin-project#276), [#277](taiki-e/pin-project#277), [#284](taiki-e/pin-project#284))

- Diagnostic improvements.

Changes since the 1.0.0-alpha.1 release:

- [Fix drop order of pinned fields in `project_replace`.](https://github.com/taiki-e/pin-``project/pull/287)

- Update minimal version of `syn` to 1.0.44.

## [1.0.0-alpha.1] - 2020-09-22

- [Remove deprecated `#[project]`, `#[project_ref]`, and `#[project_replace]` attributes.](taiki-e/pin-project#265)

  Name the projected type by passing an argument with the same name as the method to the `#[pin_project]` attribute instead:

  ```diff
  - #[pin_project]
  + #[pin_project(project = EnumProj)]
    enum Enum<T> {
        Variant(#[pin] T),
    }

  - #[project]
    fn func<T>(x: Pin<&mut Enum<T>>) {
  -     #[project]
        match x.project() {
  -         Enum::Variant(_) => { /* ... */ }
  +         EnumProj::Variant(_) => { /* ... */ }
        }
    }
  ```

- [Remove deprecated `Replace` argument from `#[pin_project]` attribute.](taiki-e/pin-project#266) Use `project_replace` argument instead.

- [Optimize code generation when used on enums.](taiki-e/pin-project#270)

- Suppress `explicit_outlives_requirements`, `box_pointers`, `clippy::large_enum_variant`, `clippy::pattern_type_mismatch`, and `clippy::implicit_return` lints in generated code. ([#276](taiki-e/pin-project#276), [#277](taiki-e/pin-project#277))

- Diagnostic improvements.

See also [tracking issue for 1.0 release](taiki-e/pin-project#264).

Reviewed By: dtolnay, capickett

Differential Revision: D79015865

fbshipit-source-id: 4712a5147edc00fc3c4cb93febd129b8343c9596
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. fb-exported Merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants