//! > Documentation
//! > test_runner_name
documentation_test_runner
//! > cairo_project.toml
[crate_roots]
hello = "src"
//! > cairo_code
fn main() {}
fn free_function<T, impl TPartialEq: PartialEq<T>, +Drop<T>, +Copy<T>>(
ref self: Array<T>, item: T,
) -> bool {
return true;
}
#[derive(Copy, Drop, Serde)]
enum MemberEnum {
Simple: felt252,
Complex: Span<MemberStruct>,
}
#[derive(Copy, Drop)]
struct MemberStruct {
name: felt252,
ty: MemberEnum,
}
trait Shape<T> {
const SHAPE_CONST: felt252;
type ShapePair;
fn area(self: T) -> u32;
}
struct Circle {
radius: u32,
}
impl CircleShape of Shape<Circle> {
type ShapePair = (Circle, Circle);
const SHAPE_CONST: felt252 = 'xyz';
fn area(self: Circle) -> u32 {
3 * self.radius * self.radius
}
}
trait ATrait {}
struct B<T, G, +ATrait> {
t: T,
g: G,
}
impl BCopy<T, G, +ATrait, +Copy<T>, +Copy<G>> of Copy<B<T, G>>;
pub extern type bytes31;
pub extern type Pedersen;
pub extern fn pedersen(a: felt252, b: felt252) -> felt252 implicits(Pedersen) nopanic;
fn this_function_has_a_very_long_signature(
and_contains_a_linked_parameter: Circle,
lorem: felt252,
ipsum: felt252,
and_another_linked_parameter_in_the_middle: Circle,
dolor: felt252,
sit: felt252,
amet: felt252,
yet_another_linked_parameter_at_the_end: Circle,
) -> Circle {}
fn test_fixed_size_array(param: [u32; 8]) -> [u32; 8] {
return param;
}
trait TestTrait<T> {}
trait TestTraitWithoutGenerics {}
impl TestTraitImpl<T, impl metadata: TestTraitWithoutGenerics> of TestTrait<T> {}
macro count_idents {
($x:ident) => { 1 };
($x:ident, $y:ident) => { 2 };
($x:ident, $y:ident, $z:ident) => { 3 };
($x:ident $y:ident $z:ident) => { 3 };
($x:ident | $y:ident | $z:ident) => { 3 };
(abc {$x:ident, (abc $y:ident) }) => { 2 };
}
macro matcher_star {
($($x:expr), *) => { 222 };
}
macro square_brackets_redundant_whitespace {
[$x:ident ] => {
println!("{}", $x)
};
}
//! > Item signature #1
//! > Item documentation #1
//! > Item documentation tokens #1
//! > Item signature #2
fn main()
//! > Item documentation #2
//! > Item documentation tokens #2
//! > Item signature #3
fn free_function<T, impl TPartialEq: PartialEq<T>, +Drop<T>, +Copy<T>>(
ref self: Array<T>, item: T,
) -> bool
//! > Item documentation #3
//! > Item documentation tokens #3
//! > Item signature #4
enum MemberEnum {
Simple: felt252,
Complex: Span<MemberStruct>,
}
//! > Item documentation #4
//! > Item documentation tokens #4
//! > Item signature #5
Simple: felt252
//! > Item documentation #5
//! > Item documentation tokens #5
//! > Item signature #6
Complex: Span<MemberStruct>
//! > Item documentation #6
//! > Item documentation tokens #6
//! > Item signature #7
#[derive(Copy, Drop)]
struct MemberStruct {
name: felt252,
ty: MemberEnum,
}
//! > Item documentation #7
//! > Item documentation tokens #7
//! > Item signature #8
name: felt252
//! > Item documentation #8
//! > Item documentation tokens #8
//! > Item signature #9
ty: MemberEnum
//! > Item documentation #9
//! > Item documentation tokens #9
//! > Item signature #10
trait Shape<T>
//! > Item documentation #10
//! > Item documentation tokens #10
//! > Item signature #11
const SHAPE_CONST: felt252;
//! > Item documentation #11
//! > Item documentation tokens #11
//! > Item signature #12
type ShapePair;
//! > Item documentation #12
//! > Item documentation tokens #12
//! > Item signature #13
fn area(self: T) -> u32
//! > Item documentation #13
//! > Item documentation tokens #13
//! > Item signature #14
struct Circle {
radius: u32,
}
//! > Item documentation #14
//! > Item documentation tokens #14
//! > Item signature #15
radius: u32
//! > Item documentation #15
//! > Item documentation tokens #15
//! > Item signature #16
impl CircleShape of Shape<Circle>;
//! > Item documentation #16
//! > Item documentation tokens #16
//! > Item signature #17
type ShapePair = (Circle, Circle);
//! > Item documentation #17
//! > Item documentation tokens #17
//! > Item signature #18
const SHAPE_CONST: felt252 = 'xyz';
//! > Item documentation #18
//! > Item documentation tokens #18
//! > Item signature #19
fn area(self: Circle) -> u32
//! > Item documentation #19
//! > Item documentation tokens #19
//! > Item signature #20
trait ATrait
//! > Item documentation #20
//! > Item documentation tokens #20
//! > Item signature #21
struct B<T, G, +ATrait> {
t: T,
g: G,
}
//! > Item documentation #21
//! > Item documentation tokens #21
//! > Item signature #22
t: T
//! > Item documentation #22
//! > Item documentation tokens #22
//! > Item signature #23
g: G
//! > Item documentation #23
//! > Item documentation tokens #23
//! > Item signature #24
impl BCopy<T, G, +ATrait, +Copy<T>, +Copy<G>> of Copy<B<T, G, + ATrait>>;
//! > Item documentation #24
//! > Item documentation tokens #24
//! > Item signature #25
pub extern type bytes31;
//! > Item documentation #25
//! > Item documentation tokens #25
//! > Item signature #26
pub extern type Pedersen;
//! > Item documentation #26
//! > Item documentation tokens #26
//! > Item signature #27
pub extern fn pedersen(a: felt252, b: felt252) -> felt252 implicits(Pedersen) nopanic;
//! > Item documentation #27
//! > Item documentation tokens #27
//! > Item signature #28
fn this_function_has_a_very_long_signature(
and_contains_a_linked_parameter: Circle,
lorem: felt252,
ipsum: felt252,
and_another_linked_parameter_in_the_middle: Circle,
dolor: felt252,
sit: felt252,
amet: felt252,
yet_another_linked_parameter_at_the_end: Circle,
) -> Circle
//! > Item documentation #28
//! > Item documentation tokens #28
//! > Item signature #29
fn test_fixed_size_array(param: [u32; 8]) -> [u32; 8]
//! > Item documentation #29
//! > Item documentation tokens #29
//! > Item signature #30
trait TestTrait<T>
//! > Item documentation #30
//! > Item documentation tokens #30
//! > Item signature #31
trait TestTraitWithoutGenerics
//! > Item documentation #31
//! > Item documentation tokens #31
//! > Item signature #32
impl TestTraitImpl<T, impl metadata: TestTraitWithoutGenerics> of TestTrait<T>;
//! > Item documentation #32
//! > Item documentation tokens #32
//! > Item signature #33
macro count_idents {
($x:ident) => { ... };
($x:ident, $y:ident) => { ... };
($x:ident, $y:ident, $z:ident) => { ... };
($x:ident $y:ident $z:ident) => { ... };
($x:ident | $y:ident | $z:ident) => { ... };
(abc {$x:ident, (abc $y:ident) }) => { ... };
}
//! > Item documentation #33
//! > Item documentation tokens #33
//! > Item signature #34
macro matcher_star {
($($x:expr), *) => { ... };
}
//! > Item documentation #34
//! > Item documentation tokens #34
//! > Item signature #35
macro square_brackets_redundant_whitespace {
[$x:ident] => { ... };
}
//! > Item documentation #35
//! > Item documentation tokens #35