mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 15:23:46 +00:00
5706be1854
Indexing is similar to method calls in having an arbitrary left-hand-side and then something on the right, which is the main part of the expression. Method calls already have a span for that right part, but indexing does not. This means that long method chains that use indexing have really bad spans, especially when the indexing panics and that span in coverted into a panic location. This does the same thing as method calls for the AST and HIR, storing an extra span which is then put into the `fn_span` field in THIR.
22 lines
784 B
Plaintext
22 lines
784 B
Plaintext
error[E0015]: cannot call non-const fn `Vec::<u32>::len` in constant functions
|
|
--> $DIR/issue-94675.rs:11:27
|
|
|
|
|
LL | self.bar[0] = baz.len();
|
|
| ^^^^^
|
|
|
|
|
= note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
|
|
|
|
error[E0015]: cannot call non-const operator in constant functions
|
|
--> $DIR/issue-94675.rs:11:17
|
|
|
|
|
LL | self.bar[0] = baz.len();
|
|
| ^^^
|
|
|
|
|
note: impl defined here, but it is not `const`
|
|
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
|
= note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0015`.
|