tree c4d7c145f75c55c384735a9b34d31ffde26622cf
parent 247ce47aabb58cceb4c9e5203757185db8daf2ec
author Mohellebi Abdessalem <116356835+AbdeMohlbi@users.noreply.github.com> 1774392876 +0100
committer GitHub <noreply@github.com> 1774392876 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpwxY8CRC1aQ7uu5UhlAAAEZAQAEaOEoND6PaGFZODEwQfcY+R
 rtFociMAekwgVd/8IKMBLs7Gdu/7OxvPFjX4GmK3yhnUYxRrPm4pCZ8FldFpYRtG
 EEcy09+oyJ9EeWlaU764PEfXfVLuXe+6OAdgFFOFpXE2vSdJ1ExuS3FMD0P2F3jN
 ihzyvjuuZ7noN8MBYb/cKQCz4aQbez5cmzR+D/pdCpf2BBAPt8dO68Wtih0+hXx/
 4ViXiGgvHJlcQ6gduiFTynRmn9jcPRxs0ZGXB3e8z6yhb2AN1jFiO2TWC/uECoLk
 8F9tGeKCzC/498viiucOhxHAPHD5ecQpaFWC9r9MMbDBYFLgX+2l7bGWij+6CFBG
 8XU2svfyHJYb+vhsywS3yG3WOHU8VN7ZjsApLKALxIJJ9kagLviPO8MYiioK9j6o
 wgZljX2+qfp4ufoT38Ia99Mnp+brS06zsq9ZbRxdFif0BtZTCgB1wo70sqNxiwfN
 rTOQMb4GPoqYh6dGtMKPn7F7ohhrevp9X4FHAH5mGw5npdcE767750lJug4Vz56W
 WudUZ6BrOF2OLFQgKsy6/LaUQkTRK7uzbZdBPTqAUq07PlVQNJRCRybIlq2X+Qh5
 RkobDKyIZ4Ul3VKDh3KDqME2NiD5G7b4Tibu021AMDOJfCILw08tCSMJAbb6W1wY
 wjJwRjNUReUej+lyray8
 =uDmW
 -----END PGP SIGNATURE-----
 

Fix RenderStack's documentation (#183822)

Fixes: #12885
## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [AI contribution guidelines] and understand my
responsibilities, or I am not using AI tools.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[AI contribution guidelines]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md