Crate ouroboros_examples[][src]

Modules

Encapsulates implementation details for a self-referencing struct. This module is only visible when using –document-private-items.

Encapsulates implementation details for a self-referencing struct. This module is only visible when using –document-private-items.

Encapsulates implementation details for a self-referencing struct. This module is only visible when using –document-private-items.

Encapsulates implementation details for a self-referencing struct. This module is only visible when using –document-private-items.

Encapsulates implementation details for a self-referencing struct. This module is only visible when using –document-private-items.

Structs

A simple struct which contains a Box<i32> and a &'this i32.

A chain of references, where c references b which references a. This is an example of a struct which requires using chain_hack as of the time this was written.

The example provided in the documentation.

This struct is created using #[self_referencing(no_doc)] so the generated methods and builders are hidden from documentation.

This struct demonstrates how visibility can be controlled. The struct is defined with the following code:

A more verbose but stable way to construct self-referencing structs. It is comparable to using StructName { field1: value1, field2: value2 } rather than StructName::new(value1, value2). This has the dual benefit of making your code both easier to refactor and more readable. Call build() to construct the actual struct. The fields of this struct should be used as follows:

A more verbose but stable way to construct self-referencing structs. It is comparable to using StructName { field1: value1, field2: value2 } rather than StructName::new(value1, value2). This has the dual benefit of makin your code both easier to refactor and more readable. Call try_build() or try_build_or_recover() to construct the actual struct. The fields of this struct should be used as follows:

A more verbose but stable way to construct self-referencing structs. It is comparable to using StructName { field1: value1, field2: value2 } rather than StructName::new(value1, value2). This has the dual benefit of making your code both easier to refactor and more readable. Call build() to construct the actual struct. The fields of this struct should be used as follows:

A more verbose but stable way to construct self-referencing structs. It is comparable to using StructName { field1: value1, field2: value2 } rather than StructName::new(value1, value2). This has the dual benefit of makin your code both easier to refactor and more readable. Call try_build() or try_build_or_recover() to construct the actual struct. The fields of this struct should be used as follows: