dimforge / dimforge/nalgebra

assertion at VectorView3::<T>::from(&view3_from_owned3).clone_owned()

Open
#1,326 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
4.8k
Forks
565
PR merge metrics
No merged PRs in 30d

Description

nalgebra=0.32.3
minimal example that reproduces the issue:
```rust
let owned_vec_10 = DVector::::zeros(10);
let segment_view_from_owned_10: DVectorView = owned_vec_10.rows(3, 3);
assert_eq!(segment_view_from_owned_10.len(), 3); // OK
assert_eq!(segment_view_from_owned_10.ncols(), 1); // OK
assert_eq!(segment_view_from_owned_10.nrows(), 3); // OK

let owned3_from_segment_view: DVector = segment_view_from_owned_10.clone_owned();
assert_eq!(owned3_from_segment_view.len(), 3); // OK
assert_eq!(owned3_from_segment_view.ncols(), 1); // OK
assert_eq!(owned3_from_segment_view.nrows(), 3); // OK

let view3_from_owned3: DMatrixView = owned3_from_segment_view.as_view();
assert_eq!(view3_from_owned3.len(), 3); // OK
assert_eq!(view3_from_owned3.ncols(), 1); // OK
assert_eq!(view3_from_owned3.nrows(), 3); // OK

let vt = VectorView3::::from(&view3_from_owned3); //OK

let t: Vector3 = VectorView3::::from(&view3_from_owned3).clone_owned(); //OK
let t: Vector3 = VectorView3::::from(&segment_view_from_owned_10).clone_owned(); //PANIC!

```
```sh
thread 'main' panicked at nalgebra-0.32.3/src/base/dimension.rs:275:9:
assertion `left == right` failed
left: 10
right: 3
```
expected that ```let t: Vector3 = VectorView3::::from(...).clone_owned()``` can be constructed from any view of suitable shape

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.