暗黙型変換は無いけど、リテラルは暗黙的に型変換されるの?

func fn(a: Int) -> Int {
return a
}

fn(5) // => 5
fn(5.3) // => 5

let num = 5.3
fn(num) // Error: "Double" is not convertible to 'Int'
fn(Int(num)) // => 5