> the newline is registered in the spans of the parsed text

I think you're confused. If I write

```rust
#[default="\n\n\n\n\n\"test\"\n\n\n\n\n"]
```

this is 28 characters long in the source. Its span covers 28 characters of whatever file this is in. But what I pass to `parse_expr()` is actually the string

```





"test"





```

which is a 16-character string. In the original file, the expression `\"test\"` is an 8-character span starting 10 characters in from the beginning of the literal. But in the parsed string, the expression `"test"` is a 6-character span starting 5 characters in. I have no way of mapping that `{start:5, len:6}` span back to the `{start:10, len:8}` span that it really came from.