summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonas Schievink <jonasschievink@gmail.com>2017-07-20 11:33:15 +0200
committerJonas Schievink <jonasschievink@gmail.com>2017-07-23 18:36:50 +0200
commit8bd0c2c812035f2bb95627d26a98ee9c2fbeb19d (patch)
tree5c5c21498de1cd8cfd919077191e4844bae4a480 /src
parent9df7727eaaf83799cc538a451a6a5a6288ff27cd (diff)
downloadmlua-8bd0c2c812035f2bb95627d26a98ee9c2fbeb19d.zip
Rename `LuaString` to `String`
This required a lot of little adjustments where we used std's `String` before. In downstream code, this shouldn't be necessary, as you can just do `use rlua::String as LuaString` to disambiguate.
Diffstat (limited to 'src')
-rw-r--r--src/conversion.rs11
-rw-r--r--src/lua.rs27
-rw-r--r--src/tests.rs6
3 files changed, 25 insertions, 19 deletions
diff --git a/src/conversion.rs b/src/conversion.rs
index df1ccad..1b0a0bc 100644
--- a/src/conversion.rs
+++ b/src/conversion.rs
@@ -1,5 +1,6 @@
use std::collections::{HashMap, BTreeMap};
use std::hash::Hash;
+use std::string::String as StdString;
use error::*;
use lua::*;
@@ -16,14 +17,14 @@ impl<'lua> FromLua<'lua> for Value<'lua> {
}
}
-impl<'lua> ToLua<'lua> for LuaString<'lua> {
+impl<'lua> ToLua<'lua> for String<'lua> {
fn to_lua(self, _: &'lua Lua) -> Result<Value<'lua>> {
Ok(Value::String(self))
}
}
-impl<'lua> FromLua<'lua> for LuaString<'lua> {
- fn from_lua(value: Value<'lua>, lua: &'lua Lua) -> Result<LuaString<'lua>> {
+impl<'lua> FromLua<'lua> for String<'lua> {
+ fn from_lua(value: Value<'lua>, lua: &'lua Lua) -> Result<String<'lua>> {
lua.coerce_string(value)
}
}
@@ -165,13 +166,13 @@ impl<'lua> FromLua<'lua> for LightUserData {
}
}
-impl<'lua> ToLua<'lua> for String {
+impl<'lua> ToLua<'lua> for StdString {
fn to_lua(self, lua: &'lua Lua) -> Result<Value<'lua>> {
Ok(Value::String(lua.create_string(&self)))
}
}
-impl<'lua> FromLua<'lua> for String {
+impl<'lua> FromLua<'lua> for StdString {
fn from_lua(value: Value<'lua>, lua: &'lua Lua) -> Result<Self> {
Ok(lua.coerce_string(value)?.to_str()?.to_owned())
}
diff --git a/src/lua.rs b/src/lua.rs
index 8290e0d..3344018 100644
--- a/src/lua.rs
+++ b/src/lua.rs
@@ -9,6 +9,7 @@ use std::marker::PhantomData;
use std::collections::{HashMap, VecDeque};
use std::collections::hash_map::Entry as HashMapEntry;
use std::os::raw::{c_char, c_int, c_void};
+use std::string::String as StdString;
use ffi;
use error::*;
@@ -32,7 +33,7 @@ pub enum Value<'lua> {
/// An interned string, managed by Lua.
///
/// Unlike Rust strings, Lua strings may not be valid UTF-8.
- String(LuaString<'lua>),
+ String(String<'lua>),
/// Reference to a Lua table.
Table(Table<'lua>),
/// Reference to a Lua function (or closure).
@@ -169,24 +170,24 @@ pub struct LightUserData(pub *mut c_void);
///
/// Unlike Rust strings, Lua strings may not be valid UTF-8.
#[derive(Clone, Debug)]
-pub struct LuaString<'lua>(LuaRef<'lua>);
+pub struct String<'lua>(LuaRef<'lua>);
-impl<'lua> LuaString<'lua> {
+impl<'lua> String<'lua> {
/// Get a `&str` slice if the Lua string is valid UTF-8.
///
/// # Example
///
/// ```
/// # extern crate rlua;
- /// # use rlua::*;
+ /// # use rlua::{Lua, String};
/// # fn main() {
/// let lua = Lua::new();
/// let globals = lua.globals();
///
- /// let version: LuaString = globals.get("_VERSION").unwrap();
+ /// let version: String = globals.get("_VERSION").unwrap();
/// assert!(version.to_str().unwrap().contains("Lua"));
///
- /// let non_utf8: LuaString = lua.eval(r#" "test\xff" "#, None).unwrap();
+ /// let non_utf8: String = lua.eval(r#" "test\xff" "#, None).unwrap();
/// assert!(non_utf8.to_str().is_err());
/// # }
/// ```
@@ -512,7 +513,7 @@ impl<'lua> Function<'lua> {
///
/// ```
/// # extern crate rlua;
- /// # use rlua::*;
+ /// # use rlua::{Lua, Function};
///
/// # fn main() {
/// let lua = Lua::new();
@@ -754,7 +755,7 @@ pub enum MetaMethod {
/// `Index` metamethod is given, it will be called as a *fallback* if the index doesn't match an
/// existing regular method.
pub struct UserDataMethods<'lua, T> {
- methods: HashMap<String, LuaCallback<'lua>>,
+ methods: HashMap<StdString, LuaCallback<'lua>>,
meta_methods: HashMap<MetaMethod, LuaCallback<'lua>>,
_type: PhantomData<T>,
}
@@ -1092,12 +1093,12 @@ impl Lua {
}
/// Pass a `&str` slice to Lua, creating and returning a interned Lua string.
- pub fn create_string(&self, s: &str) -> LuaString {
+ pub fn create_string(&self, s: &str) -> String {
unsafe {
stack_guard(self.state, 0, || {
check_stack(self.state, 1);
ffi::lua_pushlstring(self.state, s.as_ptr() as *const c_char, s.len());
- LuaString(self.pop_ref(self.state))
+ String(self.pop_ref(self.state))
})
}
}
@@ -1206,7 +1207,7 @@ impl Lua {
/// Coerces a Lua value to a string.
///
/// The value must be a string (in which case this is a no-op) or a number.
- pub fn coerce_string<'lua>(&'lua self, v: Value<'lua>) -> Result<LuaString<'lua>> {
+ pub fn coerce_string<'lua>(&'lua self, v: Value<'lua>) -> Result<String<'lua>> {
match v {
Value::String(s) => Ok(s),
v => unsafe {
@@ -1219,7 +1220,7 @@ impl Lua {
"cannot convert lua value to string".to_owned(),
))
} else {
- Ok(LuaString(self.pop_ref(self.state)))
+ Ok(String(self.pop_ref(self.state)))
}
})
},
@@ -1430,7 +1431,7 @@ impl Lua {
}
}
- ffi::LUA_TSTRING => Value::String(LuaString(self.pop_ref(state))),
+ ffi::LUA_TSTRING => Value::String(String(self.pop_ref(state))),
ffi::LUA_TTABLE => Value::Table(Table(self.pop_ref(state))),
diff --git a/src/tests.rs b/src/tests.rs
index a4bd5dc..e5e733d 100644
--- a/src/tests.rs
+++ b/src/tests.rs
@@ -3,7 +3,11 @@ use std::error;
use std::panic::catch_unwind;
use std::os::raw::c_void;
-use super::*;
+use String as LuaString;
+use {
+ Lua, Result, LuaExternalError, LightUserData, UserDataMethods, UserData, Table, Thread,
+ ThreadStatus, Error, Function, Value, Variadic, MetaMethod
+};
#[test]
fn test_set_get() {