{"action":"created","issue":{"url":"https://api.github.com/repos/sass/node-sass/issues/1031","labels_url":"https://api.github.com/repos/sass/node-sass/issues/1031/labels{/name}","comments_url":"https://api.github.com/repos/sass/node-sass/issues/1031/comments","events_url":"https://api.github.com/repos/sass/node-sass/issues/1031/events","html_url":"https://github.com/sass/node-sass/issues/1031","id":94461470,"number":1031,"title":"Multiplication with Units (ms x deg) regression since 3.1.0","user":{"login":"roughcoder","id":437907,"avatar_url":"https://avatars.githubusercontent.com/u/437907?v=3","gravatar_id":"","url":"https://api.github.com/users/roughcoder","html_url":"https://github.com/roughcoder","followers_url":"https://api.github.com/users/roughcoder/followers","following_url":"https://api.github.com/users/roughcoder/following{/other_user}","gists_url":"https://api.github.com/users/roughcoder/gists{/gist_id}","starred_url":"https://api.github.com/users/roughcoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roughcoder/subscriptions","organizations_url":"https://api.github.com/users/roughcoder/orgs","repos_url":"https://api.github.com/users/roughcoder/repos","events_url":"https://api.github.com/users/roughcoder/events{/privacy}","received_events_url":"https://api.github.com/users/roughcoder/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sass/node-sass/labels/Bug%20-%20Confirmed","name":"Bug - Confirmed","color":"e11d21"},{"url":"https://api.github.com/repos/sass/node-sass/labels/External%20-%20LibSass","name":"External - LibSass","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-11T10:48:26Z","updated_at":"2015-07-13T02:33:53Z","closed_at":null,"body":"After trying to port the new Material Design Lite code to a webpack project that I am working on, I stumbled upon an compile issue involving multiplication and units.\r\n\r\nCompiling the following code works in `v3.0.0` and fails in `v3.1.0` and `v3.2.0`.\r\n\r\n```scss\r\n$test-variable: 360deg * 1333ms;\r\n```\r\n\r\nreturns the following error\r\n\r\n```\r\n{\r\n  \"message\": \"\",\r\n  \"column\": 20,\r\n  \"line\": 2,\r\n  \"file\": \"/Users/neilbarton/Documents/Development/project/client-app/test/app.scss\",\r\n  \"status\": 1\r\n}\r\n```\r\n\r\nNot the most informative error message.  Am I missing some additional options from the compile command or is this a bug?\r\n\r\nIf i remove the `ms` all works good.\r\n\r\nThe offending lines within the Material Design Lite project are https://github.com/google/material-design-lite/blob/master/src/_variables.scss#L306-L314.\r\n\r\n```\r\n// Amount of circle the arc takes up.\r\n$spinner-arc-size: 270deg;\r\n// Time it takes to expand and contract arc.\r\n$spinner-arc-time: 1333ms;\r\n// How much the start location of the arc should rotate each time.\r\n$spinner-arc-start-rot: 216deg;\r\n\r\n$spinner-duration: 360deg * $spinner-arc-time / ($spinner-arc-start-rot + (360deg - $spinner-arc-size));\r\n```"},"comment":{"url":"https://api.github.com/repos/sass/node-sass/issues/comments/120788797","html_url":"https://github.com/sass/node-sass/issues/1031#issuecomment-120788797","issue_url":"https://api.github.com/repos/sass/node-sass/issues/1031","id":120788797,"user":{"login":"xzyfer","id":579928,"avatar_url":"https://avatars.githubusercontent.com/u/579928?v=3","gravatar_id":"","url":"https://api.github.com/users/xzyfer","html_url":"https://github.com/xzyfer","followers_url":"https://api.github.com/users/xzyfer/followers","following_url":"https://api.github.com/users/xzyfer/following{/other_user}","gists_url":"https://api.github.com/users/xzyfer/gists{/gist_id}","starred_url":"https://api.github.com/users/xzyfer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xzyfer/subscriptions","organizations_url":"https://api.github.com/users/xzyfer/orgs","repos_url":"https://api.github.com/users/xzyfer/repos","events_url":"https://api.github.com/users/xzyfer/events{/privacy}","received_events_url":"https://api.github.com/users/xzyfer/received_events","type":"User","site_admin":false},"created_at":"2015-07-13T02:33:53Z","updated_at":"2015-07-13T02:33:53Z","body":"This is an interesting issue.\r\n\r\nThe following is not valid in Sass.\r\n\r\n```scss\r\n$foo: 360deg * 1333ms;\r\na { b: $foo }\r\n```\r\n```\r\nError: 479880deg*ms isn't a valid CSS value.\r\n        on line 2 of test.scss\r\n```\r\n\r\nLibSass is failing (correctly) but at the wrong time. Ruby Sass fails when output the css, where as LibSass fails during parsing. This is shown by @saper's first example which does not error in Ruby Sass.\r\n\r\nThe key difference here is that although `$test-variable` has an invalid value at parse time, it may later on be `*`'d or `/`'d by another value that makes it valid for output. By LiibSass failing we're prevent the value from having a chance to become valid.\r\n\r\nAn example of this in action\r\n\r\n```\r\n$foo: 1333ms / (216deg + 360deg - 270deg); // Ruby Sass throws an error\r\na { b: $bar }\r\n```\r\n```\r\n$foo: 360deg *  1333ms / (216deg + 360deg - 270deg); // *'ing by deg makes the value valid\r\na { b: $bar }\r\n```"}}