Use the real Version type from semver crate
diff --git a/codegen/src/version.rs b/codegen/src/version.rs
index c3536c1..fab7907 100644
--- a/codegen/src/version.rs
+++ b/codegen/src/version.rs
@@ -1,9 +1,10 @@
+use semver::Version;
 use serde::Deserialize;
 
 use std::fs;
 use std::path::Path;
 
-pub fn get() -> String {
+pub fn get() -> Version {
     let codegen_root = Path::new(env!("CARGO_MANIFEST_DIR"));
     let syn_cargo_toml = codegen_root.join("../Cargo.toml");
     let manifest = fs::read_to_string(syn_cargo_toml).unwrap();
@@ -18,5 +19,5 @@
 
 #[derive(Debug, Deserialize)]
 struct Package {
-    version: String,
+    version: Version,
 }