diff --git a/src/etc/natvis/liballoc.natvis b/src/etc/natvis/liballoc.natvis
index cfaafc5734bce..9cc60fc7b47e5 100644
--- a/src/etc/natvis/liballoc.natvis
+++ b/src/etc/natvis/liballoc.natvis
@@ -75,4 +75,11 @@
ptr.pointer->data
+
+ Borrowed({__0})
+ Owned({__0})
+
+ - __0
+
+
diff --git a/src/etc/natvis/libcore.natvis b/src/etc/natvis/libcore.natvis
index 984a8bfb13c7c..9c3c26f597838 100644
--- a/src/etc/natvis/libcore.natvis
+++ b/src/etc/natvis/libcore.natvis
@@ -30,4 +30,19 @@
+
+ Ok({__0})
+ Err({(*($T2*) &__0)})
+
+ - __0
+ - (*($T2*) &__0)
+
+
+
+
+ {(void*) pointer}
+
+ - *pointer
+
+
\ No newline at end of file
diff --git a/src/etc/natvis/libstd.natvis b/src/etc/natvis/libstd.natvis
index 7e5ee7b13daf1..b0542b0c63303 100644
--- a/src/etc/natvis/libstd.natvis
+++ b/src/etc/natvis/libstd.natvis
@@ -72,4 +72,33 @@
+
+
+ {inner.data_ptr,s}
+
+
+
+
+ inner.length
+ (char*)inner.data_ptr
+
+
+
+
+
+
+
+ {(char*) inner}
+
+
+ {(char*) inner}
+
+
+ strlen((char *) inner) + 1
+ (char*)inner
+
+
+
+
+