> source = "date"
> source = "produktname"
Honestly that doesn't look "completely typesafe": what are those "source"s? Don't they refer to another element? What happens if you make a typo there?
> source = "produktname"
Honestly that doesn't look "completely typesafe": what are those "source"s? Don't they refer to another element? What happens if you make a typo there?
What will the compiler infer other than a value of type string?
> to supply something that would not one way or the other convert to the types that source can consume.
Well, clearly `source` takes a string, so it will happily accept "produckname" and blow up at run time.
Short of macros I know of no other compile time mechanism that would enable "safe" strings. The usual workaround is to not use plain string values at all and wrap in a sealed type.