Comments (3)
Thanks for the report!
For set_weight
:
The code does not check whether i is out of bounds before use it directly.
self.children[i]
is guaranteed to panic first here, so we just document this panic case.
For insert_child
:
should be "Panics if
i >= self.len()
" instead of "Panics ifi > self.len()
"
Insertion at the end of the list is actually possible - it's effectively appending the entry to the list. This is why self.children.insert(i, ...)
only panics if i > self.children.len()
.
from cursive.
Hi,
Many thanks for your help.
I understand your point, but I do not think“out-of-bound” crash is the behavior we expect.
The ideal situation is to inform the "user" what should happen if it is out-of-bound.
Thus, I think we may use the get and get_mut to check whether the index is in the Vec.
Thanks!
from cursive.
In each of these cases, users could check first if i > layout.len()
manually, and react accordingly.
We could add variants that return Option<...>
instead of panicking, but it might clutter the API a bit.
from cursive.
Related Issues (20)
- [FEATURE] How would I bring form, panel, and menu into this? HOT 1
- [BUG] Calling find_name() in the wrong order makes things unfindable HOT 2
- Documentation issue about textarea set_cursor HOT 2
- [BUG] While using cursive, stacktrace (on panic) are never printed to (non-alternate) screen HOT 2
- [FEATURE] more keys in `event::Keys` HOT 2
- [BUG] Shift+Up/Down do not work w/ Termion backend HOT 2
- [BUG] cursive.clear() does not work. HOT 2
- [FEATURE] `CheckBox` as multichoice with similarity to `RadioGroup` HOT 2
- [BUG] Button gets pressed on mouse hover with crossterm HOT 4
- [FEATURE] Multiline EditView HOT 2
- [FEATURE] Feature Request or Guidance on Customizing Submit Key for SelectView HOT 1
- [BUG] Limit subview size HOT 2
- [BUG] Panic when opening empty menubar subtree HOT 2
- [FEATURE] Add the capacity to disable or enabled the Views. Buttons, Edit and others. Even Full Layouts. HOT 1
- [BUG] cursive exits immediately when asked to display a string with a null byte HOT 5
- [FEATURE] Menubar to render StyledStrings HOT 5
- [FEATURE] gradient colors HOT 4
- [BUG] The recent "Move examples to the repo root" commit broke rust-analyzer for the examples HOT 4
- [BUG] tests fail with unicode-width 0.1.12 but not with 0.1.13 (should we support both in tests too?) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cursive.