#[sealed]

MSRV 1.56.0

This crate provides a convenient and simple way to implement the sealed trait pattern, as described in the Rust API Guidelines [1].

toml [dependencies] sealed = "0.5"

Example

In the following code structs A and B implement the sealed trait T, the C struct, which is not sealed, will error during compilation.

Examples are available in examples/, you can also see a demo in demo/.

```rust use sealed::sealed;

[sealed]

trait T {}

pub struct A;

[sealed]

impl T for A {}

pub struct B;

[sealed]

impl T for B {}

pub struct C;

impl T for C {} // compile error ```

Arguments

This is the list of arguments that can be used in a #[sealed] attribute:

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.