-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Labels
api changeChanges the API exposed to users of the crateChanges the API exposed to users of the cratebugSomething isn't workingSomething isn't workingcommonRelated to common crateRelated to common crate
Description
The From & Into conversion system is a very powerful and convenient feature of Rust.
It should be used when there is only one obvious conversion from source type to the target.
However, this appears not to be the case for some conversion into Column.
Consider example
let field: Field = ....;
Expr::Column(field.name().into()))It seems to create an expression selecting given field.
It is also the simplest conversion from Field to Expr::Column because, From<Field> is not implemented.
However, it doesn't do what it seems it does.
The From<&str> for Column invokes name parser and lower-cases the field
These conversions should be removed:
impl From<&str> for Column {
fn from(c: &str) -> Self {
Self::from_qualified_name(c)
}
}
/// Create a column, cloning the string
impl From<&String> for Column {
fn from(c: &String) -> Self {
Self::from_qualified_name(c)
}
}
/// Create a column, reusing the existing string
impl From<String> for Column {
fn from(c: String) -> Self {
Self::from_qualified_name(c)
}
}Any usages should be replaced with explicit calls to Column::from_qualified_name.
xanderbailey
Metadata
Metadata
Assignees
Labels
api changeChanges the API exposed to users of the crateChanges the API exposed to users of the cratebugSomething isn't workingSomething isn't workingcommonRelated to common crateRelated to common crate