Skip to content

Commit d33d867

Browse files
committed
Add ErrorGuaranteed to ast::LitKind::Err, token::LitKind::Err.
This mostly works well, and eliminates a couple of delayed bugs. One annoying thing is that we should really also add an `ErrorGuaranteed` to `proc_macro::bridge::LitKind::Err`. But that's difficult because `proc_macro` doesn't have access to `ErrorGuaranteed`, so we have to fake it.
1 parent 4a13722 commit d33d867

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

crates/proc-macro-srv/src/server/rust_analyzer_span.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ impl server::FreeFunctions for RaSpanServer {
7272
) -> Result<bridge::Literal<Self::Span, Self::Symbol>, ()> {
7373
// FIXME: keep track of LitKind and Suffix
7474
Ok(bridge::Literal {
75-
kind: bridge::LitKind::Err,
75+
kind: bridge::LitKind::Integer, // dummy
7676
symbol: Symbol::intern(self.interner, s),
7777
suffix: None,
7878
span: self.call_site,
@@ -202,7 +202,7 @@ impl server::TokenStream for RaSpanServer {
202202
tt::TokenTree::Leaf(tt::Leaf::Literal(lit)) => {
203203
bridge::TokenTree::Literal(bridge::Literal {
204204
// FIXME: handle literal kinds
205-
kind: bridge::LitKind::Err,
205+
kind: bridge::LitKind::Integer, // dummy
206206
symbol: Symbol::intern(self.interner, &lit.text),
207207
// FIXME: handle suffixes
208208
suffix: None,

crates/proc-macro-srv/src/server/token_id.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ impl server::FreeFunctions for TokenIdServer {
6464
) -> Result<bridge::Literal<Self::Span, Self::Symbol>, ()> {
6565
// FIXME: keep track of LitKind and Suffix
6666
Ok(bridge::Literal {
67-
kind: bridge::LitKind::Err,
67+
kind: bridge::LitKind::Integer, // dummy
6868
symbol: Symbol::intern(self.interner, s),
6969
suffix: None,
7070
span: self.call_site,
@@ -187,7 +187,7 @@ impl server::TokenStream for TokenIdServer {
187187
tt::TokenTree::Leaf(tt::Leaf::Literal(lit)) => {
188188
bridge::TokenTree::Literal(bridge::Literal {
189189
// FIXME: handle literal kinds
190-
kind: bridge::LitKind::Err,
190+
kind: bridge::LitKind::Integer, // dummy
191191
symbol: Symbol::intern(self.interner, &lit.text),
192192
// FIXME: handle suffixes
193193
suffix: None,

0 commit comments

Comments
 (0)