]> git.lizzy.rs Git - rust.git/commitdiff
Lower string literals with real val, not default
authorTianyi Song <42670338+tysg@users.noreply.github.com>
Tue, 1 Mar 2022 07:44:53 +0000 (15:44 +0800)
committerTianyi Song <42670338+tysg@users.noreply.github.com>
Fri, 4 Mar 2022 02:16:35 +0000 (10:16 +0800)
crates/hir_def/src/body/lower.rs
crates/ide/src/hover/tests.rs

index 06ad7ce4cd0887ebf7ba1570ee69b9614c90423b..085eea7fbd0841890f74da5512042b172eec102b 100644 (file)
@@ -923,7 +923,10 @@ fn from(ast_lit_kind: ast::LiteralKind) -> Self {
                 let text = bs.value().map(Box::from).unwrap_or_else(Default::default);
                 Literal::ByteString(text)
             }
-            LiteralKind::String(_) => Literal::String(Default::default()),
+            LiteralKind::String(s) => {
+                let text = s.value().map(Box::from).unwrap_or_else(Default::default);
+                Literal::String(text)
+            }
             LiteralKind::Byte => Literal::Uint(Default::default(), Some(BuiltinUint::U8)),
             LiteralKind::Bool(val) => Literal::Bool(val),
             LiteralKind::Char => Literal::Char(Default::default()),
index df0ca941c99d80247c657b457f4914549765f4cb..d74666b514dc57de3c32adb9ddcbca9d0ce49a32 100644 (file)
@@ -3487,6 +3487,27 @@ fn hover_const_eval() {
 
             ---
 
+            This is a doc
+        "#]],
+    );
+    check(
+        r#"
+/// This is a doc
+const FOO$0: &str = "bar";
+"#,
+        expect![[r#"
+            *FOO*
+
+            ```rust
+            test
+            ```
+
+            ```rust
+            const FOO: &str = "bar"
+            ```
+
+            ---
+
             This is a doc
         "#]],
     );