sunjay / turtle

Create Animated Drawings in Rust
http://turtle.rs
Mozilla Public License 2.0
559 stars 54 forks source link

Possible incompleteness #268

Open YichiZhang0613 opened 4 months ago

YichiZhang0613 commented 4 months ago

As you mentioned in documentation, I think the index should be checked whether it is out of bounds before directly used as polygon.points[index]. turtle-master/src/renderer_server/renderer/display_list.rs

/// Panics if the given handle does not refer to a polygon primitive or if the given index is
    /// out of bounds.
    pub fn polygon_update(&mut self, handle: PrimHandle, index: usize, point: Point) {
        let prim = self.items.get_mut(&handle).expect("bug: invalid handle");
        let polygon = prim.as_polygon_mut()
            .expect("bug: attempt to update a point in a draw primitive that was not a polygon");

        // This will panic if the index is out of bounds
        polygon.points[index] = point;
    }