uuid!() macro can't handle a constant &str passed in #756
Labels
No labels
breaking
bug
dependencies
good first issue
help wanted
unstable
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-uuid-rs/uuid#756
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
no rules expected the token
TESTno rules expected this token in macro call
macros.rs(16, 14): while trying to match meta-variable
$uuid:literalI realise now that this has been documented, is there a reason this marco can't support this use case?
Tokens that aren't string literals are also rejected:
let uuid_str: &str = "550e8400e29b41d4a716446655440000";
let uuid = uuid!(uuid_str);
Provides the following compilation error:
error: expected string literal
|
| let uuid = uuid!(uuid_str);
| ^^^^^^^^
Hi @alexipeck 👋 The problem here is just that we can’t get the actual value of the string at compile time in order to parse it in the macro if it’s not a string literal.
I do think this can still be implemented now though since we have a const parser for UUIDs available to us. It’s just a limitation of the current macro that needs to be lifted.